1. 变量名由:字母、下划线、$、数字组成,只可以字母、下划线、$开头。
2.JavaScript区分大小写!
3.命名规范:匈牙利命名法(不论是变量名还是函数名)。
4.基本类型(3种):字符串、数字、布尔类型
内置对象(3种):String、Number、Boolean
5.String 数据类型:使用单引号(‘ ’)或者双引号(“ ”)均可,但建议要统一。
6.字符转义序列:如\n是换行符
var str="This is a \"String\"with a quote."
在字符串中还可以使用Unicode字符,表示方法是在\u后面加上4位的十六进制数值。如:document.writeln("\u7231"); 表示中文简体的“爱”字。
7.双重否定符(两个否定操作符“!”)可以用来显式地将数字或字符串转换成布尔值:
var strValue="1";
var numValue=0;
var boolValue=!!strValue; //把字符串“1”转换为true
boolValue=!!numValue; //把数字0转换为false
8.null变量:已定义的、值为null的变量。如:var nullString =null;
undefined变量:变量已经声明,但是还没有初始化。如:var undefinedString;
9.常量:已命名数值,但不是变量。 如:const CURRENT_MONTH=3.5; (整个变量名全部大写!)
(常量可以是任意值,因为常量不可以赋值和重新赋值,所以在声明常量的时候就必须将常量初始化为一个固定的值。)
10.大于操作符(>):
var a=1; var b=4;
if(a>b) //false,因为数字4大于1
var a2="one"; var b2="four";
if(a2>b2) //true,因为字符串“one”按照字母顺序则比字符串“four”大
11.请为下列表达式添加圆括号,从而使得表达式的结果等于8.
var valA = 37;
var valB = 3;
var valC = 18;
var resultOfComp = valA - valB % 3 / 2 * 4 + valC - 3;
答:var resultOfComp =( valA - valB) % 3 / 2 * (4 + valC )- 3;
12.如果希望执行某代码6次,有哪3种方式?对这3种方式如何进行取舍?
//第一种,for 循环
for(var i=0;i<6;i++){
...
} //第二种,while 循环
i=0;
while(i<6){
...
i++;
} //第三种,do...while 循环
i=0;
do{
i++;
...
}while(i<6)
一般来说,for 循环更适用于代码块需要执行特定次数的情况。
while循环适用于代码块会影响条件表达式判断的情况。do...while 则更适用于无论条件是否成立都至少要执行一次代码块的情况。
13.下列条件表达式是否有问题?若有,是什么问题?
if (valTest1 == valTest2) ...
答:有问题。如果不确定变量的数据类型,那么需要考虑使用严格相等运算符: if (valTest1 === valTest2)
(注意:在不能保证变量类型一致的情况下,请使用严格相等===和严格不相等!==运算符进行判断!)
14.关于for 循环的第三种形式是for... in 循环:
(它可以遍历某个对象的所有属性。)
//通过for...in循环访问对象属性 <body onload="doFor()">
<script>
function doFor(){
var MyText={
one:"one",
two:"two",
three:"three"
}; for(var prop in MyText){
document.writeln(prop+"<br/>");
}
}
</script>
</body>
该应用程序的执行结果如下所示:
for ... in 循环也同样可以用于数组,然而该循环的属性值是每个数组元素的索引,与一般的for 循环较为不同。
var tsts=new Array('one','two','three');
for(index in tsts){
alert(tsts[index]);
}
因为传统循环形式的可读性较高,所以可以在处理数组时使用传统形式,将for...in 形式应用于对象属性的处理。