JS入门知识

2016-08-13  本文已影响0人  谢环志

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

二、解释白屏和FOUC

在不同浏览器对css和html的处理方式不同,一种是等待css加载完成后,对html
进行渲染并显示,有的是先对html元素进行展示,等css加载完成之后,再对html进行样式的设置;前者会造成白屏,后者则会造成FOUC。

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

区别:
1、执行时间不一样:async的js在下载完后会立即执行(因此脚本在代码中的顺序并不是脚本所执行的先后顺序,有可能后面出现的脚本先执行),但defer则要等待整个页面内容及样式全部加载完后再执行;(HTML5规范要求脚本执行应该按照脚本出现的先后顺序执行,但实际情况下,延迟脚本不一定按照先后顺序执行。
2、HTML版本不一样:html的版本html4.0中定义了defer;html5.0中定义async;
3、浏览器支持情况不一样

四、简述网页的渲染机制

(1).根据URL向服务器请求数
(2).根据来自服务器端的HTML形成文档对象模型,即DOM
(3).加载并解析css样式代码,形成css对象模型。
(4).在DOM和css对象模型上,创建一棵由一组待生成渲染的渲染树,,渲染树反应了文档对象模型的结构,其中的每一段文本字符串都表现为一个独立的渲染器,每一个渲染器都包含与之对应的DOM对象,文本块和之前所计算出来的样式。
(5).对渲染树上的每一个元素,计算它的坐标,称为布局。
(6).最后,渲染书中所包含的内容显示在浏览器上。
(7).当用户与网页交互,或者脚本程序操作DOM内容等,上述过程就会重新再来一次。

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

ECMAScript中规定了7种数据类型,包括6中原始数据类型和object。
1.Boolean 布尔类型;其中有两个值:true false
2.Null 空值(null or an empty value);只有一个值 null
3.undefined 一个已经被声明,但没有被赋值的变量拥有一个默认值,就是undefined undefined(首字母小写)是它唯一的值
4.String 字符串类型,用于表示文本数据,它的索引值从0开始。
5.Number 在ECMAScript标准中,只有一种数字类型,即Number,它包括了整数
、浮点数、正负Infinity和NaN
6.Symbol 符号类型,是在ECMAScript中新增的一个类型,它是唯一的,也是不
可修改的。
7.object 对象类型,它是内存中可以被标识符引用的一个区域

六、NaN、undefined、null分别代表什么?

七、typeof和instanceof的作用和区别?

两者均能判断一个变量是否为空或者是什么类型的变量。

代码任务一

代码任务二:
console.log(1+1); //数字2
console.log("2"+"4"); //字符串24
console.log(2+"4"); //字符串24
console.log(+new Date());//转成毫秒
console.log(+"4");//数字4

代码任务三:
var a = 1;
a+++a; // 3 首先a++运算后,a++依然是1,但a已经变成2,即1+2=3
typeof a+2; //number2 typeof的优先级高,所以首先判断typeof a 结果是number,再+2,完成一个字符串的拼接.

代码任务四:
arr = [3,4,5];
for(i in arr){console.log(arr[i]*arr[i]);

代码任务五:
var obj = {
name : 'hunger',
sex : 'male',
age : 28
}
for(i in obj){
console.log(obj[i]);
}

代码任务六:
console.log(a); // undefined 由于变量提升,所以a已经被声明
var a = 1;
console.log(a); // 1
console.log(b); // 报错 b is not define

上一篇 下一篇

猜你喜欢

热点阅读