javascript

注:此为个人学习笔记,内容可能有些混乱,仅供参考。

 

1、  函数

如果函数无明确的返回值,或调用了没有参数的 return  语句,那么它真正

返回的值是 undefined

 

ECMAScript 不会验证传递给函数的参数个数是否等于函数定义的参数个数。

任何遗漏的参数都会以 undefined  传递给函数,多余的函数将忽略。

a rguments 访问参数

检测函数的 传递参数个数 ,引用属性  arguments.length

检测函数 申明参数的个数 函数名.length

 

函数实际上是功能完整的对象。

Function 类可以表示开发者定义的任何函数

用 Function  类直接创建函数的语法如下:

var function_name = new function(arg1, arg2, ..., argN, function_body)

 

函数只不过是一种引用类型

 

闭包,指的是词法表示包括不被计算的变量的函数,也就是说,函数可以使用函数之外定义的变量。

 

2、对象

在 ECMAScript  中,对象由特性( attribute )构成,特性可以是原始值,也可以是引用值。如果特性存放的是函数,它将被看作对象的方法( method ),否则该特性被看作对象的属性( property

Object 对象 ECMAScript 中的所有对象都由这个对象继承而来, Object  对象中的所有属性和方法都会出现在其他对象中

Object 对象具有下列属性:

c onstructor :对创建对象的函数的引用(指针)。对于 Object  对象,该指针指向原始的  Object()  函数。

p rototype :对该对象的对象原型的引用。对于所有的对象,它默认返回 Object  对象的一个实例。

 

Boolean 对象 是 Boolean  原始类型的引用类型。

要创建 Boolean  对象,只需要传递  Boolean  值作为参数:

var oBooleanObject = new Boolean(true);

在 Boolean  表达式中,所有对象都会被自动转换为  true

 

Number 对象 是 Number  原始类型的引用类型。要创建  Number  对象,如  

var oNumberObject = new Number(68);

具有 toFixed() toExponential()  和  toPrecision() 等方法

 

String 对象

String 对象是  String  原始类型的对象表示法,它是以下方式创建的:

var oStringObject = new String("hello world");

instanceof  运算符

在使用 typeof  运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回  "object"

instanceof 方法要求开发者明确地确认对象为某特定类型。例如:

var oStringObject = new String("hello world");

alert(oStringObject instanceof String); //输出  "true"

 

对象废除

ECMAScript 拥有无用存储单元收集程序( garbage collection routine ),意味着不必专门销毁对象来释放内存。

把对象的所有引用都设置为  null ,可以强制性地废除对象。

 

早绑定和晚绑定

所谓绑定(binding ),即把对象的接口与对象实例结合在一起的方法。

早绑定(early binding )是指在实例化对象之前定义它的属性和方法,这样编译器或解释程序就能够提前转换机器代码。在  Java  和  Visual Basic  这样的语言中,有了早绑定,就可以在开发环境中使用  IntelliSense (即给开发者提供对象中属性和方法列表的功能)。 ECMAScript  不是强类型语言,所以不支持早绑定。

另一方面,晚绑定(late binding )指的是编译器或解释程序在运行前,不知道对象的类型。使用晚绑定,无需检查对象的类型,只需检查对象是否支持属性和方法即可。 ECMAScript  中的所有变量都采用晚绑定方法。这样就允许执行大量的对象操作,而无任何惩罚。

 

本地对象

ECMA-262 把本地对象( native object )定义为“独立于宿主环境的  ECMAScript  实现提供的对象”。简单来说,本地对象就是  ECMA-262  定义的类(引用类型)。它们包括:

    Object

    Function

    Array

    String

    Boolean

    Number

    Date

    RegExp

    Error

    EvalError

    RangeError

    ReferenceError

    SyntaxError

    TypeError

    URIError

你可能感兴趣的:(JavaScript)