JS语法

2016-07-12  本文已影响0人  冰哲

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

解释白屏和FOUC。

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

async和defer是JS脚本异步加载的两种方式:

简述网页的渲染机制?

分为四个阶段:
1 解析代码:将HTML文件解析成DOM,将CSS文件解析成CSSOM。
2 对象合成:将DOM和CSSOM合成一颗渲染树(render tree)
3 布局:计算出渲染树的布局(layout)
4 绘制:将渲染树绘制到屏幕
四部并不是严格按照顺序进行,页面会希望用户尽早看到内容,所以会出现什么都没有加载完毕 浏览器将已经下载的内容先呈现。

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

JavaScript定义了6种数据类型:

  1. 数值(number):整数和小数。
  2. 字符串(string):字符组成的文本。
  3. 布尔值(boolean):ture和false两个特定值。
  4. undefined: 表示未定义或者空缺,此处目前没有任何值。
  5. null:表示空缺,此处应该有一个值但此时未空。
  6. 对象(object):各种值组成的集合。

五种简单数据类型:number,string,boolean,undefined,null。
一种复杂类型:object。

NAN、null和undefined分别代表了什么?

NAN:表示not a number,表示这不是一个数,可能是除了数以外的任何东西,不于自己相等。
Undefined与null意义非常接近,在if语句中都代表false,undefined == null 结果也为true。区别在于,null是属于对象的,typeof null的结果是 “object”,在理解上,null表示空值,而undefined表示未定义。

typeof 和 instanceof的作用和区别?


代码

完成如下代码判断一个变量是否是数字、字符串、布尔、函数。

function isNumber(el){
  return typeof(el) === "number";
}
function isString(el){
  return typeof(el) === "string";
}
function isBoolean(el){
  return typeof(el) === "boolean";
}
function isFunction(el){
  return typeof(el) === "function"
}
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

以下代码的输出结果是?

console.log(1 + 1);    //2
console.log("2"+"4");  //24
console.log(2+"4");    //24
console.log(+new Date()); //1468288803278
console.log(+"4");  //+4 只有右侧有数字或者字符串,且在  字符串为十进制数时,返回(+/-)+数字

以下代码的输出结果是?

var a = 1;
a+++a; //3  相当于(a++)+a  先自增,在加上a。
typeof a+2; //number2   typeof的优先级高于加法运算,所以先typeof a,在加法运算。

遍历数组,把数组里的打印数组每一项的平方。

var arr = [3,4,5]
for (var i=0;i<arr.length;i++){
 console.log(arr[i]*arr[i])
}                 //9,16,25

遍历 JSON, 打印里面的值

var obj = {
  name:'hunger',
  sex:'male',
  age:28                            //name:hunger
}                                   //sex:male
for(var p in obj){                  //age:28
  console.log(p+":"+obj[p])
}

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

console.log(a);  // undefined   运行过程中,变量提升,var a;会在程序一开始就运行,但不会赋值。
var a = 1;
console.log(a);  //1
console.log(b);  //ReferenceError: b is not defined
上一篇下一篇

猜你喜欢

热点阅读