JavaScript 笔记(5)- 引用类型(Function、基本包装类型、单体内置对象)

原创 乘风逐月 随笔 JavaScript 146阅读 2018-04-24 15:06:28 举报

一、Function类型

每个函数都是Function类型的实例,与其他引用类型一样具有方法和属性,函数名实际上是一个指向函数对象的指针,不会与某个函数绑定。

1.创建方法

(1)function 关键字声明
(2)函数表达式
(2)Function构造函数:接受任意参数,最后一个参数始终被看成函数体
注:声明函数时,同名函数,后面的会覆盖前面的函数。

2.函数声明与函数表达式

(1)函数声明提前:对于函数声明和函数表达式,解析器会率先读取函数声明,并使其在执行任何代码之前可用。
(2)函数表达式:需等到解析器执行到它所在的代码行,才会被解释执行。

3.作为值的函数

函数名本身就是变量,函数也可以作为值来使用。
(1)函数作为函数的参数使用
(2)函数可以作为函数的结果返回

4.函数的内部属性

(1)arguments:类数组对象,保存传入函数的所有参数
a. arguments.callee:该属性是一个指针,指向拥有这个arguments对象的函数

(2)this:引用的是函数据以执行的环境对象
(3)caller:保存着调用当前函数的引用,如果是在全局作用域中调用当前函数,它的值为null

(4)严格模式下:
a. 访问arguments.callee会报错
b. 不能为函数的caller属性赋值,不报错

5.函数的属性和方法

5.1属性
(1)length:表示函数命名时希望接受参数的个数

(2)prototype:保存所有实例方法,toString(),valueOf()都保存在其下
5.2方法
(1)非继承方法
a. apply()和call():

b. bind():这个方法会创建一个函数的实例,其this值会被绑定到传递给bind()函数的值上。

(2)继承方法:
每个函数继承的toLocaleString(),toString(),valueOf()方法,都始终返回函数的代码

二、基本包装类型

1.Boolean类型

(1)创建Boolean类型对象:
var boolObj = new Boolean(false);
boolObj && true;//true,因为boolObj是一个对象,所有对象在布尔表达式中都转为true

2.Number类型

(1)创建Number类型对象:
var numObj = new Number(10);
(2)方法:

3.String类型

(1)创建String类型的方法
var str = new String('hello world');
(2)属性
length:表示字符串中包含多少个字符
(3)继承方法
toLocaleString(),toString(),valueOf():返回对象表示的基本字符串值
(4)字符方法

(5)位置方法
indexOf(str,index),lastIndexOf(str,index):从指定位置(可选)开始搜索指定字符串,返回位置,没有找到返回-1。
indexOf()从字符串开头向后搜索,lastIndexOf()从结尾向前搜索。
(4)字符串模式匹配方法

(5)字符串比较方法
localeCompare():比较两个字符串,返回下列值中的一个

(6)String.fromCharCode()方法:
接受一或多个字符编码,然后将他们转换为一个字符串。
alert(String.fromCharCode(104,101,108,111));//'helo'

三、单体内置对象

指由 ECMAScript 实现提供的,不依赖宿主环境的对象,这些对象在 ECMAScript程序执行之前就已经存在。

1. Global 对象

不属于其他任何对象的属性和方法。最终都属于 Global 对象,例如isNaN(),parseInt()等等。
其他方法:
(1)URI编码:

(2)eval():接受一个参数,既要执行的 ECMAScript 代码字符串

2.window对象

web浏览器的全局对象,所有全局的变量和函数都是window对象的属性。

3.Math对象

(1)属性:
a. Math.E:自然对数的底数,即常量e的值
b. Math.PI: π的值
(2)方法:

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复