JavaScript学习笔记七:引用类型(2)
1. 函数是对象,函数名是指针(使用不带圆括号的函数名是访问函数指针,而非调用函数)。
2. 解析器在向环境中加载数据时,会率先读取函数声明,并使其在执行任何代码之前可用。
3. 函数也可以作为值来使用,也就是说,不仅可以像传递参数一样把一个函数传递给另一个函数,而且可以将一个函数作为另一个函数的结果返回。
4. this可能会在代码执行过程中引用不同的对象。
5. 每个函数都包含两个属性:length和prototype。length属性表示函数希望接收的命名参数的个数。
6. 每个函数都包含两个非继承而来的方法:apply()和call(),它们能够用来扩充函数赖以生存的作用域,使对象不需要与方法有任何耦合关系。
7. bind()方法会创建一个函数的实例,其this值会被绑定到传给bind()函数的值。
8. ECMAScript提供了3个特殊的引用类型: Boolean、Number、String。每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,从而让我们能够调用一些方法来操作这些数据。
基本类型值不是对象,因而从逻辑上讲它们不应该有方法。
引用类型和基本包装类型的主要区别就是对象的生存期。我们不能在运行时为基本类型值添加属性和方法。
对基本包装类型的实例调用typeof会返回object。
9. 布尔表达式中的所有对象都会被转换为true。
new Boolean(false) == true (建议永远不要使用Boolean)
10.Number类型的方法:
toFixed():按照指定小数位返回数值的字符串表示。(不同浏览器规则有区别)
toExponential():指数表示法表示数值。
toPrecision():根据要处理的数值决定调用toFixed()或 toExponential()。
11.String类型的每个实例都有一个length属性。
即使字符串中包含双字节字符,每个字符也仍然算一个字符长度。
12.字符方法:charAt()和charCodeAt()用于访问字符串中特定字符。
13.字符串操作方法:concat()可以通过它拼接任意多个字符串。但实践中使用更多的还是"+"操作符。
14.基于子字符串创建新字符串:slice()、substr()、substring(),不会修改字符串本身的值,只会返回一个基本类型的字符串值,对原始字符串没有任何影响。
15.字符串位置方法:indexOf()和lastIndexOf()。从一个字符串中搜索给定的子字符串,然后返子字符串的位置。
16.trim()方法,创建一个字符串的副本,删除前置和后缀的所有空格。
17.字符串的模式匹配方法:match()、search()、replace()、split()。
18.ECMAScript的内置对象在程序执行之前就已经存在了。
Global:事实上,没有全局变量和全局函数,所有在全局作用域中定义的属性和函数,都是Global对象的属性。
Global对象的eval()方法十分强大,就像是一个完整的ECMAScript解析器。
Global对象的属性:ECMAScript明确禁止给undefined、NaN、和Infinity赋值,这样做即使在非严格模式下也会导致错误。
ECMAScript没有明确指出如何访问Global对象,但Web浏览器都是将这个全局对象作为window对象的一部分加以实现。
19.Math对象,Math对象提供的计算功能比我们在JavaScript直接编写的计算功能相比,执行要快得多。
主要方法:min()、max()、ceil()、floor()、round()、random()。
posted on 2016-07-23 09:10 RockLee2016 阅读(119) 评论(0) 收藏 举报
浙公网安备 33010602011771号