前端笔试面试题之JavaScript学习1
- JavaScript基础知识
- 1.变量类型:值类型 和 引用类型(指针),引用类型包括: 数组 函数 对象;引用类型公共空间,是指针
- 2.typeof只能区分值类型的详细类型,对引用类型无能为力,但可以区分出函数来
- 3.强制类型转换(值类型的计算)
- 4.面试题
- 1、JS中使用typeof能得到的哪些类型?
- 2、何时使用“三等号”和“二等号”?
- 3、JS中有哪些内置函数–数据封装类对象?
- 4、JS变量按照存储方式区分为哪些类型,并描述其特点
- 5、如何理解JSON?
JavaScript基础知识
1.变量类型:值类型 和 引用类型(指针),引用类型包括: 数组 函数 对象;引用类型公共空间,是指针
var a=100;var b=a;a=200;console.log(b) //100var a={age:20};var b=a;b.age=21;console.log(a.age) //21
2.typeof只能区分值类型的详细类型,对引用类型无能为力,但可以区分出函数来
typeof undefined;//undefinedtypeof \'abc\';//stringtypeof 123;//numbertypeof true;//booleantypeof {};//objecttypeof [];//objecttypeof null;//objecttypeof console.log//function
3.强制类型转换(值类型的计算)
①字符串拼接
②==运算符
③if语句
④逻辑运算 (布尔操作符 逻辑非、逻辑与、逻辑或)
var a=100+10;//110var b=100+\'10\'//\'10010\'100 ==\'100\'//true0==\'\'//truenull==undefined//truevar a=true;if(a){//...}var b=100;if(b){//...}var c=\'\';if(c){//...}console.log(10&&0)//0console.log(\'\'||\'abc\')//abcconsole.log(!window.abc)//truevar a=100;console.log(!!a)//true
4.面试题
1、JS中使用typeof能得到的哪些类型?
typeof undefined;//undefinedtypeof \'abc\';//stringtypeof 123;//numbertypeof true;//booleantypeof {};//objecttypeof [];//objecttypeof null;//objecttypeof console.log//function
typeof只能区分值类型的详细类型,对引用类型无能为力,但可以区分出函数来
2、何时使用“三等号”和“二等号”?
if(obj.a==null){//这里相当于obj.a===null||obj.a===undefined,简写形式//这是jquery源码中推荐的方法,其他的都用===}
3、JS中有哪些内置函数–数据封装类对象?
//JS作为单纯语言的内置函数ObjectArrayBooleanNumberStringFunctionDateRegExpError//Global浏览器内置对象//Math是对象,不是函数
4、JS变量按照存储方式区分为哪些类型,并描述其特点
//分为值类型和引用类型//值类型var a=10var b=aa=11console.log(b)//10//引用类型var obj1={x:100}var obj2=obj1obj1.x=200console.log(obj2.x)//200
值类型直接存储的是值引用类型存储的是指向值的指针,这样做是为了节省内存值类型的值赋值后不会相互干预引用类型的赋值是变量指针的赋值,不是真的值的拷贝,他们的赋值是相互干预的。
5、如何理解JSON?
//JSON只不过是一个JS对像而已,和MATH一样JSON.stringfy({a:10,b:20})JSON.parse(\'{\"a\":10,\"b\":20}\')//注意:JS中为false的为 0 NaN null undefined \'\' false