3.9 // 数字文字
"Hello!" // 字符串文字
false // 布尔文字
null // 文字空值
{x:1, y:2} // 对象文字
[1,2,3] // 数组文字
function(x){return x*x;} // 函数文字
var bestAge = null;
var muchTooOld = 3 * bestAge; // muchTooOld 的值为 0。因为 bestAge 为 null。
var currentCount;
var finalCount = 1 * currentCount; // finalCount 的值为 NaN,因为 currentCount 为 undefined。
注意在 JScript 中 null 和 undefined 的主要区别是 null 的操作象数字 0,而 undefined 的操作象特殊值NaN (不是一个数字)。
对 null 值和 undefined 值作比较总是相等的。
不能通过与 Number.NaN 比较来测试 NaN 结果,而应该使用 isNaN() 函数。
不用 var 关键字声明变量,并赋值。这就是隐式声明。
noStringAtAll = ""; // 隐式声明变量 noStringAtAll。不能使用未经过声明的变量。
例如 : var volume = length * width; // 错误 — length 和 width 并不存在。
任何值为0、null、未定义或空字符串的表达式被解释为 false。其他任意值的表达式解释为 true。
// 这种方法不起作用
if (x == undefined)
// 这个方法同样不起作用- 必须检查
// 字符串 "undefined"
if (typeof(x) == undefined)
// 这个方法有效
if (typeof(x) == "undefined")
考虑将 undefined 值与null做比较。
someObject.prop == null;
要检查一个对象的属性是否存在,可以使用新的 in 运算符:
if ("prop" in someObject)
从对象中删除一个属性,或从数组中删除一个元素。
delete expression
expression 参数是一个有效的 JScript 表达式,通常是一个属性名或数组元素。
内部函数是 eval():该函数可以对以字符串形式表示的任意有效的Jscript代码求值 ,eval() 函数有一个参数,该参数就是想要求值的代码
var anExpression = "6 * 9 % 7";
var total = eval(anExpression);
var myObj = new Object();
// 添加两个 expando 属性,'name' 和 'age'
myObj.name = "Fred";
myObj.age = 42;
pasta.prototype.foodgroup = "carbohydrates" //pasta为函数
不对一个函数调用,而对函数自身的引用时,不在函数的名称后面加圆括号;
如果变量是在函数中显式声明的 — 也就是说,如果它出现于赋值表达式的左边但没有用 var 声明 — 那么将把它创建为全局变量。
myObject.aProperty
myObject["aProperty"] // 与上面相同。
例如:
for (prop in myObject){
window.alert("The property '" + prop + "' is " + myObject[prop]);
}
x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10)
y = Math.tan(14 * Math.E)
当使用 with 语句时,代码变得更短且更易读:
with (Math){
x = cos(3 * PI) + sin (LN10)
y = tan(14 * E)
}