JS学习专栏——JavaScript基础复习

一、简介

JavaScript是一种专为网页交互而设计的脚本语言,由三个部分组成:

  • ECMAScript,提供核心语言功能
  • DOM(文档对象模型),提供访问和操作网页内容的方法和接口
  • BOM(浏览器对象模型),提供与浏览器交互的方法和接口

二、在HTML中使用JavaScript

1.<script>标签

  • defer延迟脚本:脚本会被延迟到整个页面都解析完毕后载运行,在执行时不会影响页面构造(立即下载,延迟执行)defer = "defer"
  • async异步脚本:立即下载文件,但不保证执行的先后顺序(必须确保异步脚本之间不相互依赖),目的是不让页面等待脚本的下载和执行,从而异步加载页面其他内容 async = "async

2.在XHTML中使用script

<script type="text/javascript">
//<![CDATA[
   CData片段是文档中的一个特殊区域,这个区域可以包含不需要解析的任意文本内容
   在不兼容CData的浏览器中将CData标记注释即可
//]]>    
</script>

3.<noscript>可以在不支持脚本的浏览器里显示代替的内容,若在启用了脚本的情况下,浏览器不会显示<noscript>元素中的任何内容

三、变量、作用域和内存问题

基本类型和引用类型

1.基本类型:Undefined,Null,Boolean,Number,String
2.动态属性:对于引用类型,可以为其添加属性和方法

var person = new Object();
person.name = "Nichalas";

3.复制变量值

  • 复制基本类型的值,会创建这个值的一个副本;
  • 复制引用类型的值,复制的是指针,因此两个变量最终指向同一个对象

4.检测类型

  • typeof操作符确定基本类型的值
  • instanceof操作符确定引用类型
var n = 1;
alert(typeof n);  //number
var o = new Object();
alert(typeof o);  //object
alert(o instanceof Object);  //true
执行环境及作用域
  • 执行环境有全局执行环境和函数执行执行环境之分
  • 每次进入一个新执行环境,都会创建一个用于搜索变量和函数的作用域链
  • 函数的局部环境不仅能访问函数作用域中的变量,而且有权访问其父环境,乃至全局环境
  • 全局环境只能访问在全局环境中定义的变量和函数,而不能直接访问局部环境中的任何数据
  • 使用var声明的变量会被自动添加到最接近的环境中,不使用var声明的变量会自动添加到全局环境中
  • with语句:将代码的作用域设定到一个特定的对象中
垃圾收集
  • 标记清除:给当前不使用的值加上标记,然后回收其内存
  • 引用计数:跟踪记录每个值被引用的次数,但在循环引用现象时会导致问题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值