1.JavaScript数组定义语法
var arr1 = [2,3,4]; //定义时直接给数组元素赋值
var arr2 = []; //定义一个空数组
var arr3 = new Array(); 定义一个空数组并通过索引来赋值
arr3[0]=1;
arr3[3]=“abc”;
2.JavaScript数组特点
1.数组长度可变,总长度等于数组的最大索引值+1。
var arr1 = [2,3,4];
arr1.length输出值为3
2.同一个数组中的元素可以互不相同。
3.当访问未赋值的数组元素时,该元素值为underfined,不会数组越界。
3.JavaScript常用运算符
1.算数运算符
算术运算符用于执行变量与/或值之间的算术运算。
2.赋值运算符
赋值运算符用于给 JavaScript 变量赋值。
3.比较运算符
比较运算符在逻辑语句中使用,以测定变量或值是否相等。
给定x=5,下面的表格解释了比较运算符:
4.逻辑运算符
逻辑运算符用于测定变量或值之间的逻辑。
给定 x=6 以及 y=3,下表解释了逻辑运算符:
4.其他运算符
1.三目运算符(?:)
条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a ? b : c ? d : e将按a ? b : (c ? d : e)执行。
a ? b : c
//简单理解方式为:
if(a){
return b
}else{
return c
}
2.逗号运算符(,)
多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。
var a,b,c,d;
a=(b=5,c=2,d=3);
console.log(a);
//输出值为3
3.void运算符(void)
这个运算符能向期望一个表达式的值是undefined的地方插入会产生副作用的表达式。
var a,b,c,d;
a=(b=5,c=2,d=3);
console.log(a);
//输出值为3
a=void(b=5,c=2,d=3);
//输出值为underfined
4.typeof
(1)typeof是一个运算符,有2种使用方式:typeof(表达式)和typeof 变量名,第一种是对表达式做运算,第二种是对变量做运算。
(2)typeof运算符的返回类型为字符串,值包括如下几种:
- ‘undefined’ --未定义的变量或值
- ‘boolean’ --布尔类型的变量或值
- ‘string’ --字符串类型的变量或值
- ‘number’ --数字类型的变量或值
- ‘object’ --对象类型的变量或值,或者null(这个是js历史遗留问题,将null作为object类型处理)
- ‘function’ --函数类型的变量或值
(3)简单示例:
console.log(typeof a); //'undefined'
console.log(typeof(true)); //'boolean'
console.log(typeof '123'); //'string'
console.log(typeof 123); //'number'
console.log(typeof NaN); //'number'
console.log(typeof null); //'object'
var obj = new String();
console.log(typeof(obj)); //'object'
var fn = function(){};
console.log(typeof(fn)); //'function'
console.log(typeof(class c{})); //'function'
5.instanceof
instanceof 用于判断一个变量是否某个对象的实例
//如 :
var a=new Array();
alert(a instanceof Array); // true,
//同时
alert(a instanceof Object) //也会返回 true;
//这是因为 Array 是 object 的子类。
//再如:
function test(){};
var a=new test();
alert(a instanceof test) //会返回true
alert(a==b); //flase
//另外,更重的一点是 instanceof 可以在继承关系中用来判断一个实例是否属于它的父类型。
//例如:
function Foo(){}
Foo.prototype = new Aoo();//JavaScript 原型继承
var foo = new Foo();
console.log(foo instanceof Foo)//true
console.log(foo instanceof Aoo)//true
//上面的代码中是判断了一层继承关系中的父类,在多层继承关系中,instanceof 运算符同样适用。
//又如:
console.log(Object instanceof Object);//true
console.log(Function instanceof Function);//true
console.log(Number instanceof Number);//false
console.log(String instanceof String);//false
console.log(Function instanceof Object);//true
console.log(Foo instanceof Function);//true
console.log(Foo instanceof Foo);//false