我爱编程

JS 语法

2016-07-10  本文已影响0人  王康_Wang

1. CSS 和 JS 在网页中的放置顺序是怎样的?

CSS部分一般放在<head>内,而JS一般放在<body>的最后。因为对于图片或其他网页内容CSS文件通常会与其并发加载,而加载JS时浏览器会禁用并发加载,这就影响了页面加载速度,故而将JS放在HTML文件后面。

2. 解释白屏和FOUC。

3. asyncdefer的作用是什么?有什么区别

正常情况下,浏览器会加载JS文件并立即执行,这就会导致JS命令执行时相应的HTML文件还未渲染完成;

有了async,加载和渲染后续文档元素的过程将和 script.js 的加载与执行并行进行(异步);

同样,**有了defer ** ,加载后续文档元素的过程将和 script.js 的加载并行进行(异步),但 script.js 的执行要在所有元素解析完成之后,DOMContentLoaded 事件触发之前完成。

区别在于defer的情况下,JS的执行会在所有元素解析完成之后,而有async的情况下JS的加载执行会和后续文档同时进行。

4. 简述网页的渲染机制

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

JavaScript定义了6中数据类型,其中有

其中对象(object)还可分为3种类型:

6.NaNundefinednull分别代表什么?

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

typeof的返回值是数据类型字符串,以确认一个值的数据类型。而instanceof的返回值是布尔型,以确定某一值是否为指定数据类型。

代码题:

1. 完成如下代码判断一个变量是否是数字、字符串、布尔、函数 (难度*)


###2. 以下代码的输出结果是?
- ```
    console.log(1+1); //输出结果是数值相加,输出2
    console.log("2"+"4"); //该运算为字符串相连接,输出"24"
    console.log(2+"4"); //将2转化为字符串"2"后join,输出"24"
    console.log(+new Date());//1468139798410(用new Date() 会转换为从1970.1.1开始的毫秒数)
    console.log(+"4");//将字符串"4"转化为数值,输出4

3. 以下代码的输出结果是?

var a = 1;
a+++a;
typeof a+2;

第二行语句中,因为```a++```优先级高于```++a```,故第二行语句也可写成```(a++)+a;```
结果为3,
第三行语句中,```typeof a```的优先级高于```a+2```,```typeof a```的返回值为```'number'```,故代码输出结果是```'number2'```。

###4. 遍历数组,把数组里的打印数组每一项的平方
- ```
var arr = [3,4,5]
// todo..
// 输出 9, 16, 25 

1.用for循环:

2.用while循环:
- ```
    <script type="text/javascript">
    var arr = [3,4,5];
    var a = 0;
    while (a<3){
        console.log(arr[a]*arr[a]);
        a++;
    }
    // 9
    // 16
    // 25

5.遍历 JSON, 打印里面的值

使用for...in语句:
- ```
    var obj = {
      name: 'hunger',
      sex: 'male',
      age: 28
    }
    for (var a in obj){
    console.log(a+':'+obj[a])
    }
    //name:hunger
    //sex:male
    //age:28

6. 下面代码的输出是? 为什么

第一条:由于变量提升,故存在变量 ```a ```,但变量 ```a ```未被赋值;
第二条:给 ```a``` 赋值;
第三条:打印 ```a``` 的值;
第四条:没有定义变量 ```b```。

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

猜你喜欢

热点阅读