首页 > 代码库 > JS面试基础
JS面试基础
问题:
1.JS中typeof能够得到哪些类型?
考点:JS 的变量类型
2.何时用 双等于 == ?何时用 三等 ===?
考点:强制类型转换
3.window.onload 与 DOMContentLoaded的区别。
4.用JS创建10个<a>标签 ,点击的时候弹出来对应的序号 。
考点:作用域
5.简述如何实现一个模块加载器,实现类似require.js的基础功能。
考点:JS的模块化
6.实现数组的随机排序
考点:JS的基础算法。
1.变量分为值类型和引用类型。
var a = 100;
var b = a;
a = 200;
console.log(b); //打印出来的是100;
var a = { age : 20 };
var b = a;
b.age = 21;
console.log(a.age); // 打印出来的是21
对象 数组 函数都是 引用类型
typeof undefined //undefined ;
typeof "ab" //string
typeof 123 //number
typeof ture //boolean
typeof 对于值类型是可以区分的
typeof { } //object
typeof [ ] //object
typeof null //object 空指针 不指向任何的对象
typeof console.log //function
typeof 区分值类型 但是不能区分引用类型 ,除了函数之外 其他的都不能区分,只是知道是对象类型 object 类型 ,另外引用类型可以无限制的扩展属性
2 . 强制类型转换
字符串拼接 ==(双等号)运算符 if语句 逻辑运算 都是可以强制类型转换的
var a = 100 + 10 ;
console.log(a); // 110 number 类型的
var b = 100 + "10" ;
console.log(b); // “10010” string 类型的 ,因为 + 号 ,做了轻质类型转换了,把数字变成了字符串,然后连接在一起了。
100 == " 100 " //true ;
0 == " " //true ; 空字符串
null == undefined //true ; null 和 undefined 两个本身都可以转换成 false ,所以可以相等 。
JS面试基础