大小写敏感,JavaScript严格区分大小写。(n与N是两个不同的变量。)
弱类型语言(声明变量都用var),不存在int n=10;string s=“a”;的情况,所有变量都用var。因为是“动态类型”,所以下面这段代码是合法的:var n=10;n=“a”;√
Js的注释,与C#、Java的相同
js转义
var a="c:\windows\qiufeng";
alert(a);
会发现弹出
我们不能用C#中的@来转义,在JS中是不支持的,可以写成
var a="c:\\windows\\qiufeng";
•常见转义符:
•\t、\n、\’、\”、\\
js中的switch,case
var a = "123";
switch (a) {
case 123:alert(123);break;
case "123":alert("abc");break;
default:alert("323"); break;
}
会弹出abc
注意这里如果不加break,会依次弹出abc,323
l注:switch判断时,是“全等于”,===
什么是全等于了?
var sNum = "999";
var iNum = 999;
alert(sNum == iNum); //输出为 true
alert(sNum === iNum); //输出为 false
第一个等于运算符在比较的时候就把sNum的值"999"给转换成数字型,再和iNum比较所以会返回为true
而第二个全等号比较就没有进行类型转换,因此字符串和数字类型比较是不能为真的
非全等号和非等于:
var sNum="66";
var iNum=66;
alert(sNum!=iNum);//返回为false
alert(sNum!===iNum);//返回为true
类型转换:
lparseInt(arg)//将指定的字符串,转换成整数 parseInt("2222.12")值为2222;
lparseFloat(arg)//将指定的字符串,转换成浮点数
lNumber(arg)把给定的值(任意类型)转换成数字(可以是整数或浮点数);转换的是整个值,而不是部分值。如果该字符串不能完全转换为整型,则返回NaN。(Not a Number)
•isNaN(arg)//判断arg是否为一个非数字(NaN),NaN与NaN也不相等。
String(arg)把给定的值(任意类型)转换成字符串;
Boolean(arg)把给定的值(任意类型)转换成 Boolean 型;
(*)eval(codeString)//将一段字符串的js代码,计算并执行。类似于动态SQL语句。
•alert(eval(‘2+3’));
•eval(‘alert(100);’);
JS中的面相对象
function test(x) {
return function () {return x + 1; };
}
alert(test(10));
如果想弹出值需要写成
function test(x) {
return (function () { return x + 1; })();
}
alert(test(10));
定义一个函数
function Person(name, age) {
this.name = name;
this.age = age;
this.sayHi = function () {
alert("我叫" + name);
}
}
var p = new Person("ls", 17);//注意必须有new,要不然就成了直接调用函数
alert(p.age);
p.sayHi();