JavaScript 入门学习中…

这两天从零开始学JS,跟着MDN学了一点(感觉MDN真的讲得挺好的,简洁清晰),同时在做百度前端的JS部分…


任务一关键词:querySelector, textContent;

任务一主要是了解了一下JS如何选择HTML中的DOM node(s),获取node的值,修改node的值。

任务二关键词:getElementById, createElement, appendChild, for, if;

任务二,处理现成数据,并用if判断哪部分要添加到页面中。

任务三关键词:sort()

任务三,从网页获取数据,处理成对象为元素的数组,用sort方法排序,然后添加到页面


从MDN翻了一下文档,

Syntax↓

arr.sort()
arr.sort(compareFunction)

默认的sort()是根据Unicode来排序的,比如

var mixedNumericArray = ['80', '9', '700', 40, 1, 5, 200];
function compareNumbers(a, b) {
  return a - b;
}

在console里log了一下:

console.log('numericStringArray:', numericStringArray.join());
console.log('Sorted without a compare function:', numericStringArray.sort());
console.log('Sorted with compareNumbers:', numericStringArray.sort(compareNumbers));

/*
mixedNumericArray: 80,9,700,40,1,5,200
Sorted without a compare function: 1,200,40,5,700,80,9
Sorted with compareNumbers: 1,5,9,40,80,200,700
*/

会发现默认的sort()方法会出现把200排在40之前这样的情况,因为按Unicode排序的话2确实在4前面(好像说了废话orzzz)。

MDN compare doc

回到语法,除了直接用arr.sort(),还可以用arr.sort(compareFunction)。

看了一下MDN上的描述,发现是通过compareFunction的返回值来判断如何排序的。

然后一番折腾之后终于把百度前端JS入门部分做完啦,啪啪啪。

嗯呢,不知道下个月月底之前能做到哪呢…

(X3[▓▓]∠_


贴个代码的GitHub地址

This blog is under a CC BY-NC-SA 4.0 Unported License
Link to this article: http://nhh.ink/2017/03/22/new-to-js/