<<JavaScript 高级程序设计>>小结

第一章 JavaScript的简介

第二章 在HTML中使用JavaScript


把JavaScript插入到HTML页面中要使用<script>元素。使用这个元素可以把JavaScript嵌入到HTML页面中,让脚本与标记混合在一起;也可以包含外部的JavaScript文件。而我们需要注意的地方有:

  • 在包含外部JavaScript文件时,必须将src属性设置为指向相应文件的URL。而这个文件既可以是与包含它的页面位于同一个服务器上的文件,也可以是其他域中的文件。
  • 所有<script>元素都会按照它们在页面中出现的先后顺序依次被解析。在不适用defer和async属性的情况下,只有在解析完前面的<script>元素中的代码之后,才会开始解析后面<script>元素中的代码。
  • 由于浏览器会先解析完不适用defer属性的<script>元素中的代码,然后再解析后面的内容,所以一般把<script>元素放在页面最后。
  • 使用defer属性可以让脚本在文档完全呈现出来之后再执行。延迟脚本总是按照指定它们的顺序执行。
  • 使用async属性可以表示当前脚本不必等待其他脚本,也不必阻塞文档呈现。不能保证异步脚本按照它们在页面中出现的顺序执行。
  • 使用<noscript>元素可以指定在不支持脚本的浏览器中显示的替代内容。但在启动脚本的情况下,浏览器不会显示<noscript>元素中的任何内容。

第三章 基本概念

3.1 语法
语法.png
3.3 变量

ECMAScript的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。定义变量使要使用var操作符。因此可以修改变量值的同时修改值得类型
例如:

var message = "hi";
message = 100; //有效,但不推荐

有一点必须注意,即用var操作符定义的变量将成为定义该变量的作用域中的局部变量。

3.4 数据类型
数据类型.png
3.5 操作符
操作符.png
3.6 语句
3.6.1 if语句
3.6.2 do-while语句
3.6.3 while语句
3.6.4 for语句
3.6.5 for-in语句
  • for-in语句是一种精准的迭代语句,可以用来枚举对象的属性。
  • 通过for-in循环输出的属性名的顺序是不可预测的。建议在使用for-in循环之前,先检测确认该对象的值不是null或undefined。

3.6.6 label语句
3.6.7 break和continue语句
3.6.8 with语句
  • 作用是将代码的作用域设置到一个特定的对象中,简化多次编写同一个对象的工作。
  • 严格模式下不允许使用with语句

3.6.9 switch语句
3.7 函数
  • ECMAScript中没有函数签名的概念,因为其函数参数是以一个包含零或多个值的数组的形式传递的。
  • 可以向ECMAScript函数传递任意数量的参数,并且可以通过arguments对象来访问这些参数。
  • 由于不存在函数签名的特性,ECMAScript函数不能重载。

第四章 变量、作用域和内存问题

4.1 基本类型和引用类型的值
  • 动态的属性:只能给引用类型值动态地添加属性,以便将来使用。
  • 复制变量值:基本类型值和引用类型值得区别。
  • 参数的传递:ECMAScript中所有函数的参数都是按值传递的。
  • 检测类型:用typeof检测对象只会返回"object",所以提供了instanceof操作符,其语法如下:

result = variable instanceof constructor

如果引用类型是Object,返回true;

4.2 执行环境以及作用域
执行.jpg
var color = "blue";
function changeColor() {
var anotherColor = "red";
    function swapColors() {
        var tempColor = anotherColor;
        anotherColor = color;
        color = tempColor;
}
swapColors();
}
changeColor();

这个例子的作用域链为

QQ图片20170124110547.jpg
  • 可以通过try-catch语句的catch块 和 with语句来延长作用域链
  • javascript没有块级作用域,对于块级作用域的语言来说,for语句初始化变量的表达式所定义的变量,只会存在于循环的环境之中。而对于javascript来说,由for语句创建的变量i即使在for循环执行结束后,也依旧会存在于循环外部的执行环境。
4.3 垃圾收集
4.3.1 标记清除
4.3.2 引用计数
4.3.3 性能问题
4.3.4 管理内存
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第1章 JavaScript 简介 JavaScript 具备与浏览器窗口及其内容等几乎所有方面交互的能力。 欧洲...
    力气强阅读 1,324评论 0赞 0
  • 有人说过,很多弯路到最后都成了直路,所有的坑到最后也都成了坦途;所谓的直路和坦途并不是摆在眼前的,都是不断的的...
    老衲法号一眉道人阅读 1,515评论 0赞 4
  • 爷爷走了快两年了,就在他过完九十岁生日没多久。 从小到大爷爷给我的印象是总是埋头干活,话很少,脾气很好。邻居和亲戚...
    天空之鱼阅读 278评论 0赞 0
  • 无中生有,是生发的智慧,核心就一个字,用! 而用来做什么就是每个人的无。 如果你想有钱,你就用无中生有生发出钱来;...
    颜满媛阅读 1,382评论 0赞 0
  • 群里有个任务,要求写下100天践行总结,平时时紧好像很紧,又静不下心来写字,于是,利用早起晨间日记的时间写了。...
    我是醒来阅读 116评论 0赞 0

友情链接更多精彩内容