失效链接处理 |
JavaScript高频面试题 PDF 下载
本站整理下载:
相关截图:
主要内容:
1、什么是JavaScript?
js脚本语言,基于对象和事件驱动的解释性脚本语言
2、JavaScrip与ECMAScript的关系?
ECMAScript是JavaScrip的标准
JavaScrip是ECMAScript的具体体现
3、变量的命名规则?
只能以字母,_,$开头
不能使用关键字和保留字
见名知意,遵循驼峰标识符fontSize
建议不重名,后面会覆盖前面的
4、window.onload的作用?
等文档(标签)和资源都加载完成后调用
2讲
5、js数据类型?
基本数据类型:Number、String、Boolean、null、undefined
复杂类型:object、array、function
6、null和undefined区别?
null访问一个不存在的对象返回的值
undefined访问一个未初始化变量(声明了变量,但是没有赋值)的返回值
7、运算符的种类?
算数运算符,赋值运算符,比较运算符,逻辑运算符,三目(三元)运算符
8、var a = 10;var b = a++;a、b最后的结果是?
a = 11,b=10
注、++在前先自加后赋值
++在后先赋值后自加
9、"=="与"==="的区别?
"=="在进行判断,或者是运算的时候,会尽可能将类型转换为number
"==="不会转换必须类型和数值都是一样的
10、console.log(0.1+0.2 == 0.3).
结果是:false 小数不要做判断条件,因为有些小数在运算过程中,可能会出现偏差
11、NaN会在什么样的情况下出现呢?列举出现这种情况的代码。
运算出现问题,就会得出NaN的结果
console.log(10*"a");
console.log(100-"20px" );
12、列举三种强制类型转换和2中隐式类型转换。
强制类型转换:number、String、tostring
隐式类型转换:+、-、*、/
3讲
13、document.write()和innerHTML的区别?
innerHTML: 会覆盖全部 可以识别标签 可以操作任意闭合标签
document.write(): 会覆盖之前已经存在的,会保留通过 document.write()写的内容 可以识别标签 只能操作body标签内容
4讲
14、this对象的理解
会存在代码的任何地方,所处环境的不同,所代表的值不一样,就看被调用时的环境。
5讲
15、写一个获取非行间样式的函数
function getStyle(elem,attr){
if(elem.currenStyle){
var w = elem.currenStyle[attr];
}else{
var w = getComputedStyle(elem)[attr];
}
return w;
}
16、说说你对作用域链的理解?
js里面的一种查找机制,先找自己范围内的,自己没有再一层一层的往上找,直到找到全局,全局找不到就is not defined.
17、return的计算
var x = 1;y = z = 0;
function add(n){n = n+1;};
y = add(x);
function add(n){n = n + 3;};
z = add(x);
console.log(x,y,z);
结果:x = 1 y = undefined z = undefined
|