运算符:
- 运算符中“==”是判断值是否相等,而“===”是判断值和类型是否都相等
- 三目运算符“?:” 例如:3<5?3:5 判断3是否小于5,若小于5,则去冒号前面的3;大于5,则取冒号后面的5
数组的定义:
1.隐式定义:var 数组名 = [ ] //空数组 var 数组名 = [ 值1,值2,值3....]
2.直接实例化:var 数组名 = new Array(值1,值2,值3....)
3.定义数组并设置长度:var 数组名 = new Array(size)
数组的操作:
数组的下标从0开始,不会出现下标越界
获取数组的长度:数组名 . length
设置数组的长度:数组名 . length = 值
获取数组指定下标的值: 数组名[下标] (如果下标不存在,则underfinded)
设置数组指定下标的值: 数组名[下标] = 值(如果下标不存在,则自动扩容)
如果设置非整数型的下标,则会成为数组的属性,不计入数组的长度
设置属性:数组名[“属性名”] = 值 或 数组名.属性名 = 值
获取属性:数组名[“属性名”] 或 数组名.属性名
数组的遍历:
1.for循环遍历——不遍历属性
for(var index = 0; index < 数组长度;index++){
}
2.for ... in 循环——不遍历索引中的undefinded
for(var下标名 in 数组){
}
3.forEach循环——不遍历属性和索引中的undefinded
数组.forEach(function(element,index){
})
//element:元素
//index:下标
数组提供的方法:
push 添加元素到最后
indexof 数组元素索引
join 数组转成字符串
split 字符串方法:将字符串转换成数组
unshift 添加元素到最前
pop 删除最后一项
shift 删除第一项
reverse 数组翻转
slice 截取(切片)数组,原数组不发生变化
splice 剪接数组,原数组变化,可以实现前后删除效果
concat 数组合并
函数定义:
1.函数声明语句
function 函数名([参数列表]){
函数体
}
2.函数定义表达式
var 变量名/函数名 = function([参数列表]) {
函数体
}
3.Function构造函数(了解)
var 函数名 = new Function([参数列表],函数体)
函数的参数:
定义函数时设置形参,调用函数时传递实参
1.实参可以省略,则形参为undefinded
2.如果形参名相同,则以最后一个参数为准
3.可以设置参数的默认值
4.参数为值传递,传递副本;参数是引用传递,则传递的是地址,操作的是同一个对象
实例:
<script type="text/javascript">
console.log("============")
function test01(x,y){
console.log(x+y)
}
test01()
test01(1)
test01(1,2)
function test02(x,x){
console.log(x)
}
test02(1,2)
function test03(x){
x = x || "x"
console.log(x)
}
test03(10)
test03()
function test04(x){
(x != null && x != undefined)? x = x : x = "x"
console.log(x)
}
test04()
test04("Hello")
var num = 10
function test05(num){
num = 20
}
test05(num)
console.log(num)
//引用传递
var obj = {name:"zhangsan"}
console.log(obj)
function test06(o){
o.name = "lisi"
}
test06(obj)
console.log(obj)
</script>
运行结果:
函数的调用:
1.常用调用模式:函数名([参数列表])
2.函数调用模式: var 变量名 = 函数名([参数列表])
3.方法调用模式: 对象.函数名()