一、变量声明
如果在 var 语句中没有初始化变量,变量自动取 JScript 值 undefined。尽管并不安全,但声明语句中忽略 var 关键字是合法的 JScript 语法。这时,JScript 解释器给予变量全局范围的可见度。当在过程级中声明一个变量时,它不能用于全局范围;这种情况下,变量声明必须用 var 关键字。
当要声明一个变量并进行初始化,但又不想指定任何特殊值,可以赋值为 JScript 值 null。
在 JScript 中 null 和 undefined 的主要区别是 null 的操作象数字 0,而 undefined 的操作象特殊值NaN (不是一个数字)。对 null 值和 undefined 值作比较总是相等的。
二、判断对象 undefined
// 这种方法不起作用
if (x == undefined)
// 作某些操作
// 这个方法同样不起作用- 必须检查
// 字符串 "undefined"
if (typeof(x) == undefined)
// 作某些操作
// 这个方法有效
if (typeof(x) == "undefined")
or
if (typeof(x) === "undefined")
三、特殊的内部函数eval
var anExpression = "6 * 9 % 7";
var total = eval(anExpression); // 将变量 total 赋值为 5。
var yetAnotherExpression = "6 * (9 % 7)";
total = eval(yetAnotherExpression) // 将变量 total 赋值为 12。
四、Jscript 支持四种类型的对象
内部对象、生成的对象、宿主给出的对象(如 Internet 浏览器中的 window 和 document)以及 ActiveX 对象(外部组件)。
五、构造函数
// pasta 是有四个参数的构造器。
// 第一部分与上面相同。
function pasta(grain, width, shape, hasEgg)
{
// 用什么粮食做的?
this.grain = grain;
// 多宽?(数值)
this.width = width;
// 横截面形状?(字符串)
this.shape = shape;
// 是否加蛋黄?(boolean)
this.hasEgg = hasEgg;
// 这里添加 toString 方法(如下定义)。
// 注意在函数的名称后没有加圆括号;
// 这不是一个函数调用,而是
// 对函数自身的引用。
this.toString = pastaToString;
}
// 实际的用来显示 past 对象内容的函数。
function pastaToString()
{
// 返回对象的属性。
return "Grain: " + this.grain + "\n" +
"Width: " + this.width + "\n" +
"Shape: " + this.shape + "\n" +
"Egg?: " + Boolean(this.hasEgg);
}
六、Jscript 保留字
保留词
| break | delete | function | return | typeof |
| case | do | if | switch | var |
| catch | else | in | this | void |
| continue | false | instanceof | throw | while |
| debugger | finally | new | true | with |
| default | for | null | try |
为将来保留的词
| abstract | double | goto | native | static |
| boolean | enum | implements | package | super |
| byte | export | import | private | synchronized |
| char | extends | int | protected | throws |
| class | final | interface | public | transient |
| const | float | long | short | volatile |
当选择标识符时避免使用已经在内部 Jscript 对象或函数中使用的词,如 String 或 parseInt。
七、使用构造函数来创建对象
var myObject = new Object(); // 创建没有属性的通用对象。 var myBirthday = new Date(1961, 5, 10); // 创建一个 Date 对象。 var myCar = new Car(); // 创建一个用户定义的对象,并初始化其属性。
八、js模拟jQuery trim函数
// String 构造函数的原型对象的一个方法。
String.prototype.trim = function()
{
// 用正则表达式将前后空格
// 用空字符串替代。
return this.replace(/(^\s*)|(\s*$)/g, "");
}
九、== 与 === 区别
JScript 是一种具有自动强制的自由类型语言。因此,尽管实际上不同类型的值是不相等的,但对下述示例中的表达式求值都将得到 true。
"100" == 100;
false == 0;
要核对类型与值都一致,用“严格相等”运算符(===)。下面两个表达式的值为 false:
"100" === 100;
false === 0;
1372

被折叠的 条评论
为什么被折叠?



