js点滴
大小写敏感,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();