JS语法

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

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

2.解释白屏和FOUC

  • 白屏:如果把样式放在底部,对于某些场景的IE浏览器下,页面会出现白屏,而不是内容逐步呈现,如果使用@import标签也会白屏。当把JS文件放在顶部,因为JS脚本加载时会阻止后面内容的呈现以及其组件的下载,所以也会发生白屏。
  • FOUC(无样式内容闪烁):如果把CSS样式放在底部,对于某些场景下的IE浏览器,会出现FOUC(先逐步加载HTML内容,等CSS加载完成时突然出现样式)对于Firefox浏览器则会一直发生FOUC。
3.async和defer的作用是什么?有什么区别

答:

  • 没有async和defer的时候,浏览器会立即加载执行指定脚本,立即的意思是渲染该script标签之下的文档元素前,就是不等待后续载入的文档元素,读到就加载并执行。
  • 有async时,加载和渲染后续文档时候的过程将和script.js的加载与执行过程一起进行(异步)。
  • 有defer,加载后续文档元素的过程将与script.js的加载同时进行,但是script.js的执行只要在所有元素解析完成之后,DOMContentLoaded事件触发之前完成。
  • 区别:async不保证顺序。defer脚本延迟到文档解析和显示后执行,有顺序。
4.简述网页的渲染机制

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

  • DOM:Document Object Model,浏览器将HTML解析成树形的数据结构,简称DOM。
  • CSSOM:CSS Object Model,浏览器将CSS代码解析成树形的数据结构。
  • DOM树的构建过程是一个深度遍历过程:当前节点的所有子节点都构建完成好后才会去构建当前节点下的下一个兄弟节点。

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

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

答:

  • 字符串:是存储字符的变量例如:abcd。
  • 数值:整数和小数。
  • 布尔值:只有ture跟false两个特定值。
  • null:表示空缺,此处应有一个值但现在为空。
  • underfined:表示未定义不存在,此处没有任何值。
  • 对象object:各种值组成的集合。
    简单类型:字符串、布尔值、数值、null、underfined。
    复杂类型:对象。
6.NaN、undefined、null分别代表什么?

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

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

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

  • typeof是一个一元运算,放在一个运算数之前,运算数可以是任何类型。它的返回值是一个字符串,该字符串说明运算数的类型typeof 一般只能返回如下几个结果:number,boolean,string,function,object,undefined。typeof返回的值都是object,而且具有局限性。
  • 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](http://upload-images.jianshu.io/upload_images/2487339-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](http://upload-images.jianshu.io/upload_images/2487339-96e0be207d89d7d9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
提升变量必须声明变量,a声明了所以输出1,b没有被声明所以报错。

**本文版权归本人和饥人谷所有,转载请注明来源。**
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,117评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,963评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,897评论 0 240
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,805评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,208评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,535评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,797评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,493评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,215评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,477评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,988评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,325评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,971评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,807评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,544评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,455评论 2 266

推荐阅读更多精彩内容

  • JavaScript基本概念、基础数据类型、运算符、流程控制语句。 一、CSS和JS在网页中的放置顺序是怎样的? ...
    婷楼沐熙阅读 411评论 0 2
  • 1.CSS和JS在网页中的放置顺序是怎样的? css一般放在头部head标签中,网页渲染时,先解析html标签,生...
    _Josh阅读 341评论 0 1
  • 1. CSS和JS在网页中的放置顺序是怎样的? 理论上来说,CSS和JS的放置位置并没有严格要求,不过因为浏览器的...
    进击的阿群阅读 421评论 0 2
  • 问答 1.CSS和JS在网页中的放置顺序是怎样的? 一般把css放在 标签内, 标签的后面;js放在 标签的尾部。...
    墨月千楼阅读 592评论 0 0
  • CSS和JS在网页中的放置顺序是怎样的? CSS以link方式放在头部,否则有可能出现白屏或者FOUC(无样式内容...
    咸吧阅读 529评论 1 0