jsFunction类型

1、每个函数都是Function类型的实例

函数声明定义:function sum (sum1, sum2) {return num1+num2}

函数表达式定义函数:var sum = function(num1, num2){return num1+num2};

使用Function构造函数(不推荐这种方法):可以接受任意数量的参数,最后一个参数始终被看成是函数体,而前面的参数则枚举出了新函数的参数。

2、没有重载(将函数名理解为指针)

同时声明两个同名函数,第二个函数会覆盖第一个函数

3、函数声明与函数表达式(函数声明会有提升的过程,解释器会将函数声明添加到执行环境中)

函数声明和函数表达式的唯一区别,函数的调用可以在函数声明之前进行,而不能再函数表达式之前,如果在函数表达式之前调用了该函数就会报错。

这是因为:解析器在向执行环境中加载数据时,对函数声明和函数表达式并非一视同仁。解析器会率先读取函数声明,并使其在执行任何代码之前可用;对于函数表达式,则必须等到解析器执行到它所在的代码行,才会真正被解释执行。

4、函数内部属性

特殊对象:arguments和this

arguments:是一个类数组对象,包含传入函数的所有参数,这对于递归实现了解耦代码的功能。arguments的属性callee属性指向拥有这个arguments对象的函数

this:指代当前执行的环境对象

5、函数对象的属性

caller:保存调用当前函数的函数引用,如果是全局作用域中调用当前函数,则返回null

6、函数属性和方法

length:表示函数希望接收的命名参数的个数

prototype:对于ECMAScript中的引用类型而言,prototype是保存它们所有实例方法的真正所在。prototype不可枚举

7、每个函数非继承而来的方法:都是在特定的作用域中调用函数,实际上等于设置函数体内this对象的值,两个函数的调用结果没什么不同。

apply():接收两个参数(在其中运行函数的作用域,参数数组(可以是Array实例,也可以是arguments对象))

call():第一个参数一样,后面的参数,call()必须一个一个列出来

使用call()和apply()来扩充函数运行的作用域

bind():创建一个函数的实例

8、基本包装类型

Boolean、Number、String,这样每当读取一个基本类型的值,后台就会创建一个对应的基本包装类型的对象,从而让我们能调用一些方法来操作这些数据。

Boolean:

Number:

toFixed(2):2表示给数值X加上两个小数位,并返回数值的字符串表示

toExponential():返回指数表示法

toPrecision():返回数值合适的表示形式

String:

字符方法:chartAt() 返回单字符 chartCodeAt() 返回字符编码

字符串操作方法:concat()字符串拼接,和加号操作符效果一样

9、单体内置对象

Global

URI编码方法:

encodeURI():不会对本身属于URI的特殊字符进行编码

encodeURIComponent():对任何非标准字符进行编码

decodeURI():只能解码encodeURI()编码的字符

decodeURIComponent():

eval()方法

只接收一个参数,使用时需谨慎,防止代码注入

window对象:

10、math对象

min()、max()

Math.ceil():向上舍为最近的整数

Math.floor():向下舍为最近的整数

Math.round():最接近的

random():返回大于等于0小于1的一个随机数

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/1143111355/blog/712570

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值