作用域
在全局作用域下var作用域全局
全局变量只有在浏览器关闭的时候才会销毁局部变量在函数运行结束后销毁
作用域链
作用于函数之间的链条
一个函数可以访问另一个函数的变量
如果函数内套用函数时两个函数都需要调用否则不调用的不会运行
内部函数可以访问外部函数的函数外部函数不能访问内部函数的函数
每一个函数都有独立的作用域但是内部函数属于外部函数
js代码分两步
1预解析 在当前作用域下js代码执行之前浏览器会默认把带有var和function声明的变量在内存中提前声明
2执行代码
对象
对象里可以储存任意的东西
对象的创建
new关键字
var obj=new obj
字面量
var obj ={}
存入对象
对象名.属性值 存在
基本数据类型
基本数据类型的值是存在栈内的
引用数据类型的值是存在堆内的
栈里直接通过地址指向url地址指向的堆里赋值给其它的引用数据类型的值也会随之改变
对象的特点
对象就是把相关的属性和方法放在一起的集合
对象需要属性名和属性值(键值对,键是neme 值是内容,对)
对象的属性名没有特殊要求
通过属性点属性值给对象添加 数据时属性名不能是数字
可以通过对象名【‘属性名’】来给对象添加数据
如果通过对象名【‘’】来添加时需要使用【‘’】来获取值
构造函数
必须new一下
命名必须首字母大写
必须this.属性=值
function Get(uname,age){
this.uname=uname
this.age=age
}
判断对象是否有某个属性名
属性名 in 对象名
ture代表有false代表没有
属性名一定要用引号
遍历对象
对象由属性名和属性值、键值对 ,key value
for ( in ){
}
for in 遍历数组时k代表数组的索引是下标