第一部分 javascript语言核心
js是面向web的编程语言同时它也是动态类型语言,弱类型语言。
第二章 类型,值和变量-----编程语言中能够操作的值的类型称为数据类型(js中有两种数据类型)
原始类型: 数字 字符串 布尔型 null undefind-----存储在栈内存中
对象类型: object 函数 数组------存储在堆内存中
全局对象:全局对象(global object)在程序的如何位置都能使用每次js解析器启动时或web浏览器刷新加载页面的时候它都会创建一个全新的全局对象。
包装对象:包装对象就是当我们的基本数据类型(不包括null undefind)使用时它就去隐式调用mew ...然后将其转化成对象这个对象会继承一些方法来供我们使用然后属性引用结束后这个创建的对象就会被销毁
类型转换:数据类型的转换分为隐式转换和显示转换
隐式转换:当操作数据类型的时候如果两个数据类型不一样它则会隐式转换一下然后再进行处理(可以去看看那张隐式转换的表)
显式转换:调用Boolean() Number() String()函数进行转换
变量声明:变量是使用关键字var来声明的------js变量可以是任意数据类型
变量作用域:一个变量的作用域是程序员源代码中定义这个变量的区域。全局作用域,函数作用域,块级作用域,脚本作用域
作用域链:每一段js代码(全局代码或函数) 都有一个与之相关联的作用域链。这个作用域链是一个对象列表或链表。当我们需要查找某一个变量的值时候(这个过程叫变量解析),他会从链中的第一个对象开始查找,如果有就直接用如果没有则会继续查找链上的下一个对象以此类推 如果都没有找到则会抛出一个错误