因为种种原因加入到了现在的自动化测试组, 由于测试小组使用js 的测试框架, 几天下来感觉自己js实在是弱爆了, 所以现在会回头重新过一遍js。
1. js 中 如果把数字与字符串相加,结果将成为字符串。
x=5+5;
document.write(x);
x="5"+"5";
document.write(x);
x=5+"5";
document.write(x);
x="5"+5;
document.write(x);
>>>10 55 55 55
2. js 中 == 与 === 之间的区别
== 操作符并不表示严格相等, 譬如
var a = false;
var b = "";
if (a == b){
alert("a equals b")
}
>>> 这个代码会alert值,所以用==符号时认为空字符与false的含义相同。
===操作符表示严格比较(比较变量的值与类型)
var a = false;
var b = "";
if (a === b){
alert("a equals b")
}
>>> 这个代码不会alert值
3. 条件运算符
variablename=(condition)?value1:value2
表示如果condition为variablename=value1,否则variablename=value2
greeting=(visitor=="PRES")?"Dear President ":"Dear ";
如果变量 visitor 中的值是 "PRES",则向变量 greeting 赋值"Dear President ",否则赋值 "Dear"。
4. switch语法
switch(n)
{
case 1:
执行代码块 1
break;
case 2:
执行代码块 2
break;
default:
n 与 case 1 和 case 2 不同时执行的代码
}
5. for/in 语句遍历对象属性
var person={fname:"John",lname:"Doe",age:25};
for (x in person)
{
txt=txt + person[x];
}
6. JavaScript 标签
如需标记 JavaScript 语句,请在语句之前加上冒号:
break labelname;
continue labelname;
例子:
cars=["BMW","Volvo","Saab","Ford"];
list:
{
document.write(cars[0] + "
");
document.write(cars[1] + "
");
document.write(cars[2] + "
");
break list;
document.write(cars[3] + "
");
document.write(cars[4] + "
");
document.write(cars[5] + "
");
}