《javascript高级程序设计》第五章 reference types
第5 章 引用类型
5.1 Object 类型
5.2 Array 类型
5.2.1 检测数组
5.2.2 转换方法
5.2.3 栈方法
5.2.4 队列方法
5.2.5 重排序方法
5.2.6 操作方法
5.2.7 位置方法
5.2.8 迭代方法
5.2.9 归并方法
5.3 Date 类型
5.3.1 继承的方法
5.3.2 日期格式化方法
5.3.3 日期/时间组件方法
5.4 RegExp 类型
5.4.1 RegExp 实例属性
5.4.2 RegExp 实例方法
5.4.3 RegExp 构造函数属性
5.4.4 模式的局限性
5.5 Function 类型
5.5.1 没有重载(深入理解)
5.5.2 函数声明与函数表达式
5.5.3 作为值的函数
5.5.4 函数内部属性
5.5.5 函数属性和方法
5.6 基本包装类型
5.6.1 Boolean 类型
5.6.2 Number 类型
5.6.3 String 类型
5.7 单体内置对象
5.7.1 Global 对象
5.7.2 Math 对象
reference types:
有个部分location methods ,关于indexOf 和 lastIndexOf 的 ,还要看下中文解释
The Date Type 、The RegExp Type 都没有仔细看
The Function Type 当中:
function sum(num1, num2){
return num1 + num2;
}
alert(sum(10,10)); //
var anotherSum = sum;
alert(anotherSum(10,10)); //
sum = null;
alert(anotherSum(10,10)); //
----------------------------------------------------------------------假如改成如下的就会报错了,相当于一个执行前,一个执行后,但是为什么呢?
function sum(num1, num2){
return num1 + num2;
}
var anotherSum = sum;
sum = null;
alert(anotherSum(10,10));
-----------------------------------------------------------------------
sort比较数字的例子,很常见,但是原理不太懂
String Location Methods
可以查找到字母在一句话中的位置:
var stringValue = “Lorem ipsum dolor sit amet, consectetur adipisicing elit”;
var positions = new Array();
var pos = stringValue.indexOf(“e”); while(pos > -1){
positions.push(pos);
pos = stringValue.indexOf(“e”, pos + 1);
}
alert(positions); //”3,24,32,35,52”
------------------------------------------------------------------------------------------------------
var text = “cat, bat, sat, fat”;
result = text.replace(/(.at)/g, “word ($1)”);
alert(result); //word (cat), word (bat), word (sat), word (fat)
(假如把$1 换成是$2 , 或者是$0 都不是很有效的~)
$n 匹配第n个捕获组的子字符串 (2013.3.5)假如我想让$2 可以工作应该如何修改?
call 和 apply的用处(20130901)
除了传递参数
它们真正强大的地方是能够扩充函数赖以运行的作用域。
window.color = "red";
var o = { color: "blue" };
function sayColor(){
alert(this.color);
}
sayColor(); //red
sayColor.call(this); //red
sayColor.call(window); //red
sayColor.call(o); //blue
sayColor.call(o); //blue
当运行sayColor.call(o)时,函数的执行环境就不一样了,因为此时函数体内的this 对象指向了o,于是结果显示的是"blue"。
使用call()(或apply())来扩充作用域的最大好处,就是对象不需要与方法有任何耦合关系。
在9.9的周志里面也有对call的运用
《javascript高级程序设计》第五章 reference types的更多相关文章
- 《JavaScript高级程序设计》——第二章在HTML使用JavaScript
这章讲的是JavaScript在HTML中的使用,也就是<script>元素的属性.书中详细讲了async.defer.src和type四个<script>的属性. 下面是对第 ...
- JavaScript 高级程序设计 第5章引用类型 笔记
第五章 引用类型 一.object类型 1.创建方法: 1.使用new 操作符创建 var person=new object() Person.name=”Nicholasa” Porson.age ...
- 《JavaScript 高级程序设计》第一章:简介
JavaScript 历史 JavaScript的诞生的主要是当时的 netspace 公司谋求为自己的浏览器 Navigator 添加一种脚本语言,以便在本地客户端进行一些行为操作,而这一功能的需求 ...
- JavaScript高级程序设计第20章JSON 笔记 (学习笔记)
第二十章 JSON 1.Json 可以表示三种类型的值: 1.简单值: 表示数值:5 表示字符串:“hello wrold”注表示字符串时必须使用双引号 2.对象: {“name”:“mi”,”ag ...
- JavaScript高级程序设计第14章表单脚本 (学习笔记)
第十四章 表单脚本 1.阻止默认表单提交 1.提交表单数据 1.使用type=submit提交按钮 2.使用submit():方法 注意:当用户点击提交按钮时,会触发submit事件,从而在这里我们有 ...
- 读书时间《JavaScript高级程序设计》五:DOM
DOM(文档对象模型)是针对HTML文档的一个API,描绘了一个层次化的节点树,可以添加.移除.修改页面的某一部分. 一个简单的文档结构 <!DOCTYPE html> <html& ...
- 《JAVASCRIPT高级程序设计》第一章
在使用调制解调器的时代,频繁的表单验证对客户端来说是一个很大的负担,javascript,作为一种专门进行表单验证的客户端脚本语言诞生了.到今天,javascript早已超越了当初设定的角色.Java ...
- 《JavaScript高级程序设计》——第一章JavaScript简介
第一章主要讲了JavaScript的诞生和发展.刚刚接触JavaScript的我,似乎对这些内容并不感兴趣,快速看了一遍就开始去看第二章了. 看完第一章,收获也就是了解到JavaScript由ECMA ...
- javascript高级程序设计第5章,引用类型
object类型: 创建object实列的方式有两种,一种是new()方法,一种是对象字面量表示法: 第一种法方: var obj = new object(); obj.name = 'name' ...
随机推荐
- SqlSever基础 Upper函数 返回字符串的大写形式
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- ViewState 视图状态对象实例
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DemoViewState. ...
- Spring 框架 详解 (四)------IOC装配Bean(注解方式)
Spring的注解装配Bean Spring2.5 引入使用注解去定义Bean @Component 描述Spring框架中Bean Spring的框架中提供了与@Component注解等效的三个注 ...
- BZOJ 1822 Frozen Nova 冷冻波(最大流)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1822 题意:WJJ喜欢“魔兽争霸”这个游戏.在 游戏中,巫妖是一种强大的英雄,它的技能F ...
- eclipse选中变量,相同变量高亮。
选择Windows->Preferences->Java->Editor->Mark Occurrences,全部选择并保存. 如下图:
- 使用source Insight工具创建uboot工程。
首先在linux下面解压uboot的代码.不能在Windows下面解压,因为Windows的文件名是不区分大小写的. 然后,创建网络驱动器,这样就能在Windows下访问linux的文件夹了.方法:通 ...
- SQL疑难杂症【2】解决SQL订阅过程中找不到已经创建的订阅
之前有写过一篇博客,主要是图解SQL复制技术:图解SQL 2008数据库复制,当时的测试环境是在我本地同一个服务器上面,所以测试的时候可谓是一帆风顺,最近公司要做一个数据同步的事物,所以再次在不同的服 ...
- git学习笔记10-新开发的功能不想要了-强行删除分支
添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支. 现在,你终于接 ...
- Eclipse小技巧--快速输入System.out.println();(转)
步骤1:指定“Content Assist”的快捷键,参考:善用 Eclipse 组合键,提高输入效率 步骤2:输入源代码是,先输入sysout,然后输入辅助快捷键:Alt+/,这样就可以自动生成:S ...
- 记CVTE2014年春季招聘实习生求职历程
进度:目前已经过了网测 明天一面,好紧张,人生第一次实习面试.据说只有一分钟. 网测; 首先在http://exam.cvte.com/ 注册了账号,然后填写相关的个人信息,这里要仔细填写,因为它最后 ...