break,continue
不能用于if语句中
break
立即终止离它最近的语句。可以在其后跟着一个label,就终止指定的循环
continue
跳过离它最近的当次循环。
label:循环语句
给循环语句创建一个名字(label)。
console.time() console.timeEnd()
开启终止一个计时器,参数是一个字符串(名字)。
对象属于一种复合的数据类型,在对象中可以保存多个不同的数据类型的属性
对象分类
- 内建对象 由ES标准定义的对象
- 宿主对象 由ES运行环境(浏览器)提供的对象,如BOM,DOM
- 自定义对象 由开发人员自己创建的对象
对象
- 创建对象
var obj=new Object();
- 添加属性
对象.属性名=属性值;
属性名如果是特殊的,就用对象["属性名"]=属性值
[]中可以直接传递一个变量,读取变量值。
属性可以是一个对象。 - 删除对象
delete 对象.属性名;
- in 运算符
"属性名" in 对象
通过该运算符可以检查一个对象中是否含有指定的属性,返回布尔值。
数据类型比较
JS中变量保存在栈内存中,
基本数据类型直接存在栈内存中,值与值之间独立存在,修改一个变量不会影响其他值。
对象保存在堆内存中,每创建一个新对象,就会在堆内存中开辟新空间,变量保存的是对象的内存地址。
比较两个引用数据类型是,比较的是内存地址。
对象字面量
var obj = {}
(对象字面量)和var obj = new Object()
(构造函数)本质是一样的。
使用对象字面量可以在创建对象时直接指定对象的属性,
var obj = {
name:"sadsa",
age:10,
....,
test:{name:"sadw"}
};
函数
函数中可以封装一下功能,在需要的时候执行。使用typeof检查时,返回function,具有对象具有的功能。
- 创建函数对象
- 使用构造函数,
var 函数对象名字=new Function();
在其中可以以字符串的形式传入代码,(不用); - 使用函数声明,
function 函数名(形参1,...,形参n){语句...}
; - 使用函数表达式,
var 函数名=function(形参1,...,形参n){语句...};
。
- 调用函数
函数对象名字()
- 函数的参数
调用函数时,解析器不会检查实参的类型,函数的实参可以是任意的数据类型,可以是一个对象,一个函数
多余的实参不会被辅助,如果实参数量少于形参的数量,则没有对应实参的形参将是unndefined
参数过多的时候,可以将参数封装到一个对象中,然后通过对象传递。
函数名() 相当于使用函数的返回值
函数名 相当于直接使用函数
function hello(o){
console.log("asd"+o.name+o.age+o.xxx)
}
var obj={
name="qwe",
age:10,
....,
};
function fun(a){
console.log(a);
a(obj);
}
fun(hello);
//asdqwe10....
在函数中,return 后的语句都不会执行
return;
=return undefined;