输入空格 document.write( )
质数练习
break 结束循环 continue 跳过当次循环
对象 String Number Boolean Null Underfined Object
内建对象 String Number Boolean Null Underfined Object
宿主对象 BOM DOM console.log() document.write()
自建对象(主) var obj = new Object()
new调用函数,是构造函数constructor
添加属性 对象.属性名 = 属性值
读取属性 console.log(对象.属性名)
修改属性值 对象.属性名 = 新值
删除属性 delete 对象.属性名
特殊属性名 obj["123"]=属性名 console.log(["123"]) [ ]可以传递变量的值
属性值可以是任意值,可以是个对象 obj1.obj2.属性名 也可以是个函数 称这个函数是该对象的方法
in “属性名” in 对象 有就返回true,没有返回false
引用数据类型 Object
变量保存在栈内存 对象保存在堆内存里,变量保存的是内存地址
比较基本数据类型是比值,比较引用数据类型是比内存地址
对象字面量
var obj = {属性名:属性值,属性名:属性值……};
函数 也是一个对象 可封装一些功能,可在需要时候调用
var fun = new Funciton();
调用函数 函数对象();
函数声明创建函数 function 函数名([形参1,形参2……形参N]){}
函数表达式 var 函数名= function([形参1,形参2……形参N]){}
函数的参数 在函数()中来指定多个形参 相当于在函数内声明对应的变量 调用函数式,()内指定实参,相对赋值给函数形参,多余的实参不会被赋值,少的话,没有实参的形参会被赋值成underfined
返回值 return 值;作为函数执行结果返回,之后的语句不会被执行
实参可以是对象,实参过多是,可以创建对象封装实参
实参也可以是一个函数 函数是函数对象 函数()是返回值
return 可以是任何值 是对象,是函数
立即执行函数 (函数)();
枚举对象中的属性 for ……in 语句 for(var 变量 in 对象){ } for(var n in obj){console.log("属性名:"+n);console.log(“属性名”+obj[n];)}
作用域(Scope) 一个变量的作用范围
全局作用域 编写在script标签中的JS代码都在全局作用域 页面打开创建 关闭销毁 都是全局变量 在页面的任意部分都能访问到 全局对象window,代表浏览器窗口,创建的变量作为window对象的属性保存
变量的声明提前 使用var声明变量,会在代码执行之前被声明
函数的声明提前 使用函数声明形式创建函数 function 函数(){}会在代码执行前就被创建 var fun2 =function(){}不会被提前创建
函数作用域 调用函数创建作用域,执行完毕销毁,每调用一次创建一个新的作用域,互相独立 可以访问全局变量 全局中无法访问到函数作用域的变量 自身中有变量子用自身,没有则在上一级作用域中寻找,直到全局,没有则报错 也有声明提前
debug 网页编辑器中中断运行
this 解析器调用函数每次都会像函数传进一个隐藏函数,this 指向的是一个对象
根据调用函数的方式不同,this会指向不同的对象
1,以函数形式调用,this永远是window 2,以方式的形式调用,this就是调用方法的那个函数