1.js常见的三种输出语句, web前端的三个层 (三件套/三剑客)

                               js常见的三种输出语句

1.  console.log() 在浏览器的控制台输出Alert() 弹出一个对话框document.write()在页面输出。

2.script标签是否可以在html中任意放置。

不可以,跟内容的执行顺序有关,如果想任意放置script标签,需要在里面写window.onload.

html中内容执行顺序:

1.解析html结构浏览器的一个解析器 解析标签从上到下。

2.引入样式文件css文件和脚本文件js文件。

3.解析和执行脚本代码 ----浏览器中的js引擎执行的。

4.加载图片(视频和音频)资源。

 5.加载css的样式代码。

 6.执行window.onload操作  所有文档加载完成之后再执行跟html中内容化加载顺序有关。

window.onload的优势:

1.将里面的代码放在最后执行

2.形成私有作用域保护里面的变量不受外部影响

3.没个js文件只能有一个window.onload 最后面的会覆盖掉前面的。

 

 

     web前端三个层 (三件套/三剑客)

 

1.html结构层

2.css表现层

3.js行为层

开发过程中要保持三者分离,尽量不要耦合在一起

<button onclick="alert(1111)">点我一下</button> 这叫结构和行为耦合,避免这种写法。

<a href="javscript:;">大家好</a>阻止超链接刷新页面。

 

 

1.变量的储存方式

1.浏览器在执行js代码的过程中(靠js引擎),计算机就会开闭内存空间给js。分成栈和堆。栈的存储空间比较小,只存名字和地址。堆的空间比较大,存数据。以字符串的形式存。

阿里的一道面试题:

栈里面存变量名,赋值的过程中看后面的值 是基本数据类型还是复合数据类型 基本存值 复合数据类型存地址。在堆里面以字符串的形式存。

2.作用域的问题

浏览器执行js代码的时候开辟了一个最大的作用域叫window或者是全局作用域,在执行代码的过程中如果是函数执行,将会在window下开辟一个私有作用域/子作用域,每个作用域的分配是一样的,都有一个存储模块和执行模块。

 

 

 

猜你喜欢

转载自www.cnblogs.com/wzx888/p/12292293.html