JS学习知识点-9月份

一 null和undefined的区别

null的意思是这里不应该有值,它是一个空对象指针,所以typeof检测出来,会是Object。

undefined的意思是这里应该有值,但是没有定义。比如声明一个变量但没有赋值。

后者派生自前者,验证两者的时候,一定要用严格等于===。undefined == null会返回true。


二 JS有几种数据类型

5种简单数据类型:null  undefined  string  number  bollean

1中复杂数据类型:object


三 下面几项输出什么

alert(typeof(null));

alert(typeof(undefined));

alert(typeof(NaN));

alert(NaN==undefined);

alert(NaN==NaN);

var str="123abc" ; alert(typeof(str++));

alert(str);

(NaN,即not a number,用来表示本来要返回数值的操作数未返回数值的情况,有相关的isNaN函数)


四 pop(),shift(),push(),unshift()都有什么功能

1 pop(),移除数组最后一个值,并返回删除的元素

2 push(),在数组末尾添加一个值,并返回新数组长度

3 shift(),移除数组第一个值,并返回删除的元素

4 unshift,在数组第一个位置添加一个值,并返回新数组长度


五 数组的迭代方法都有什么

迭代方法都有两个参数,第一个是在每一项上运行的函数,第二个是规定这个函数this的指向。这个函数可以有三个参数,第一个是正在运行的这一项,第二个是项的位置,第三个是数组本身。

1 forEach,对每一项运行一个函数,没有返回值。

2 filter,对每一项运行一个函数,结果

3 map,对每一项运行一个函数,然后将运行过的作为一个新数组返回。

4 evevry,对每一项运行一个函数,每一项的运行结果都为true,才返回true。

5 some,对每一项运行一个函数,任意一项运行结果为true,就返回true、

(注意filter和map的函数里最后都有return一个值)


六 谈谈你JS中This的理解

This是函数中的特殊对象,它引用的是函数执行的环境对象,(基于函数的执行环境绑定的)是在函数调用时绑定的                                                                                                    。

比如在全局函数局中this指向window,函数是某个对象的方法时this指向这个对象。但是匿名函数的执行环境具有全局性,所以它的This指向window。

(另外,函数在搜索this时,只会搜到它自己的活动对象,不会访问外部函数中的this。不过可以把外部的this保存在闭包能访问的变量里)   


七 什么是严格模式

var foo = 1;                                                                                                                                                    function(){

console.log(foo);

varfoo = 2;

console.log(foo);

}

答案:输出undefined 和 2

你可能感兴趣的:(JS学习知识点-9月份)