饥人谷技术博客

JS语法

2016-08-17  本文已影响0人  浩天天
1.CSS和JS在网页中的放置顺序是怎样的?

答:CSS一般放在<head>中,而JS一般放置在<body>最下面。

2.解释白屏和FOUC

3.async和defer的作用是什么?有什么区别

答:

4.简述网页的渲染机制

答:第一步:浏览器在接收到服务器返回的页面信息后,遇到解析html标签构建DOM树,遇见解析CSS标签构建CSSOM树


第二步:DOM与CSSOM合成后生成Render Tree,如上图
Render Tree和DOM一样,以多叉树的形式保存了每个节点的本身属性和CSS属性,以及其子节点。
第三步:有了Render Tree之后,浏览器知道了网页中有哪些节点,以及各个节点的CSS定义和从属关系,下一步我们称之为layout就是计算出每个节点在屏幕中的位置。
第四步:浏览器已经知道了哪些节点要显示、每个节点的CSS属性是什么,每个节点的位置在哪里,然后painting按照算出来的规则,把内容画到了屏幕上。

5.JavaScript 定义了几种数据类型? 哪些是简单类型?哪些是复杂类型?

答:

6.NaN、undefined、null分别代表什么?

答:NaN:表示not a number,表示非数字,它与任何数值都不相等,包括他自己。
null:此处应该有一个值,但是目前为空,会自动转化为“0”,如果一个变量将用来保存对象,那应该保存为nall。
underfined:如果一个变量给它声明了但是没有赋值,那这个变量的值就是underfined,转化为NaN

7.typeof和instanceof的作用和区别?

答:tapeof和instanceof的作用都是用来判断一个变量是否为空,或者是什么类型。他们的区别主要有:

代码:
1

function isNumber(el){
    // todo ...
}
function isString(el){
    //todo ...
}
function isBoolean(el){
    //todo ...
}
function isFunction(el){
    //todo ...
}

var a = 2,
    b = "jirengu",
    c = false;
alert( isNumber(a) );  //true
alert( isString(a) );  //false
alert( isString(b) );  //true
alert( isBoolean(c) ); //true
alert( isFunction(a)); //false
alert( isFunction( isNumber ) ); //true

地址
2

console.log(1+1);//输出:2
console.log("2" + "4");//输出:24
console.log(2 + "4");//输出:24
console.log(+new Date());//输出:1471341539756 
console.log(+"4");//输出:4

3

var a = 1;
a+++a;//3
typeof a+2;//number2

4


搜狗截图16年08月16日1959_1.png

5

var obj = {
name : 'hunger',
sex : 'male',
age : 28
}````

![搜狗截图16年08月17日1314_2.png](https://img.haomeiwen.com/i2487339/74c2d312f7e93e66.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
6

console.log(a);
var a = 1;
console.log(a);
console.log(b);

输出什么 为什么?


![搜狗截图16年08月17日1325_5.png](https://img.haomeiwen.com/i2487339/96e0be207d89d7d9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
提升变量必须声明变量,a声明了所以输出1,b没有被声明所以报错。

**本文版权归本人和饥人谷所有,转载请注明来源。**
上一篇 下一篇

猜你喜欢

热点阅读