js常见的三种输出语句
1. console.log() 在浏览器的控制台输出Alert() 弹出一个对话框document.write()在页面输出。
2.script标签是否可以在html中任意放置。
不可以,跟内容的执行顺序有关,如果想任意放置script标签,需要在里面写window.onload.
html中内容执行顺序:
1.解析html结构浏览器的一个解析器 解析标签从上到下。
2.引入样式文件css文件和脚本文件js文件。
3.解析和执行脚本代码 ----浏览器中的js引擎执行的。
4.加载图片(视频和音频)资源。
加载css的样式代码。
执行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下开辟一个私有作用域/子作用域,每个作用域的分配是一样的,都有一个存储模块和执行模块。