1、作用域
定义变量使用var语句。当变量在函数内部定义时,var有着函数范围(function-scope)级别,这个变量不能在函数外被访问。JavaScript中没有其他的范围域粒度了,更具体的说,JavaScript中没有块域(block-scope)。
任何在函数中使用但没有用var明确定义的变量,都会被假定属于全局对象。
任何没有被明确初始化的变量都会被赋值于undefined。
2、函数返回值
javaScript没有void类型,所以每个函数都必须返回一个值,除了构造器之外默认值是undefined,构造器的默认返回值是this
3、if判断
在if语句,while语句,do语句, 和符合逻辑的操作符中,JavaScript视为false,null,undefined, ""(空字符串),和数字0作为假(false)。其它所有值被视为真(true)。
4、逻辑判断
&&操作符,一般被称为“逻辑与”(logical and),它也被称为guard,如果第一个操作数是false、null、undefined、""(空字符串)或者数字0那么将返回第一个操作数,否则将返回第二个操作数。这提供了一个便利地测试null值的方法:
var value = p && p.name; /* The name value will
only be retrieved from p if p has a value, avoiding an error. */
||操作符一般被称为“逻辑或”(logical or),它也被称为default,如果第一个操作数是false、null、undefined、""(空字符串)或者数字0, 那么将返回第二个操作数,否则返回第一个操作数。这提供了一个便利地设定默认值的方式:
value = v || 10; /* Use the value of v, but if v
doesn't have a value, use 10 instead. */
定义变量使用var语句。当变量在函数内部定义时,var有着函数范围(function-scope)级别,这个变量不能在函数外被访问。JavaScript中没有其他的范围域粒度了,更具体的说,JavaScript中没有块域(block-scope)。
任何在函数中使用但没有用var明确定义的变量,都会被假定属于全局对象。
任何没有被明确初始化的变量都会被赋值于undefined。
2、函数返回值
javaScript没有void类型,所以每个函数都必须返回一个值,除了构造器之外默认值是undefined,构造器的默认返回值是this
3、if判断
在if语句,while语句,do语句, 和符合逻辑的操作符中,JavaScript视为false,null,undefined, ""(空字符串),和数字0作为假(false)。其它所有值被视为真(true)。
4、逻辑判断
&&操作符,一般被称为“逻辑与”(logical and),它也被称为guard,如果第一个操作数是false、null、undefined、""(空字符串)或者数字0那么将返回第一个操作数,否则将返回第二个操作数。这提供了一个便利地测试null值的方法:
var value = p && p.name; /* The name value will
only be retrieved from p if p has a value, avoiding an error. */
||操作符一般被称为“逻辑或”(logical or),它也被称为default,如果第一个操作数是false、null、undefined、""(空字符串)或者数字0, 那么将返回第二个操作数,否则返回第一个操作数。这提供了一个便利地设定默认值的方式:
value = v || 10; /* Use the value of v, but if v
doesn't have a value, use 10 instead. */