javascript高级程序设计总结之二

函数的用法: 参数不是必须的,只是提供便利!
function sayHi(){
alert("Hello " + arguments[0] + "," + arguments[1]);
}
sayHi("kinger", "How are you?"); //Hello kinger,How are you?

var colors = new Array(3);
var names = new Array("Greg","blue");

var colors = ["red", "blue", "green"];

数组的length属性不是只读的,是可以修改的。
var colors = ["red", "blue", "green"]; //length为3
colors[colors.length] = "black"; //位置3添加black
colors[colors.length] = "brown"; //位置4添加brown

栈方法:push() 和pop()
队列方法: push() 和 shift()

重排序:
reverse()和sort()
sort方法可以接受一个比较函数为参数。sort方法比较的是字符串,默认为
var values = [0, 1, 5, 10, 15];
values.sort();
alert(values); //0, 1, 10,15,5
比较函数:
function compare(value1, value2){
if( value1 < value2){
return -1;
}else if(value1 > value2){
return 1;
} else{
return 0;
}
}
简写可以写成:
function compare(value1, value2){
return value1-value2;
} //这是升序排序
如果第一个参数应该位于第二个之前则返回一个负数
如果第一个参数应该位于第二个之后则返回一个正数
var values = [0, 1, 5, 10, 15];
values.sort(compare);
alert(values); //0, 1, 5, 10, 15

数组中的操作方法有:concat()、slice()、splice()

RegExp类型:
正则表达式的表示方法:
1、 var pattern1 = /[bc]at/i;
2. var pattern2 = new RegExp("[bc]at", "i");

函数声明和函数表达式的区别,解析器会率先读取函数声明
alert(sum(10, 10)); //20
//alert(sum2(10, 10)); //出错
function sum(num1 ,num2){ //函数声明
return num1 + num2;
}
var sum2 = function(num1, num2){ //函数表达式
return num1 + num2;
}

函数内部再调用函数
var data = [{name: "lonpo", age: 28}, {name: "kinger", age: 29}]; //两个对象
function createComparisonFunction(propertyName){
return function(object1, object2){
var value1 = object1[propertyName]; //object1是什么?
var value2 = object2[propertyName]; //object2是什么?
if(value1 < value2){
return -1;
}else if(value1 > value2){
return 1;
} else{
return 0;
}
};
}
data.sort(createComparisonFunction("name"));
alert(data[0].name); //kinger 按照name排序 于是是kinger、lonpo
data.sort(createComparisonFunction("age"));
alert(data[0].name); //lonpo 按照age排序 28、29

可以理解为下面这种情况:
//var data = [{name: "lonpo", age: 28}, {name: "kinger", age: 29}]; //两个对象
var data = [{name: "lonpo", age: 28}, {name: "kinger", age: 29}, {name: "zipoo",age:21},{ name:"abc", age:40}];
//alert(data[0]);
//alert(data[1]);
function createComparisonFunction(propertyName){
return function compare(value1, value2){
var v1 = value1[propertyName];
var v2 = value2[propertyName];
if(v1 < v2){
return -1;
}else if(v1 > v2){
return 1;
} else{
return 0;
}
}
}
data.sort(createComparisonFunction("name"));
alert(data[0].name); //kinger 按照name排序 于是是kinger、lonpo
data.sort(createComparisonFunction("age"));
alert(data[0].name); //lonpo 按照age排序 28、29

基本包装类型和基本类型
var s1 = "some text";
var s2 = s1.substring();
// 当执行第二步的时候,后台自动完成了下列步骤:
1、创建String类型的一个实例
2、在实例上调用指定的方法
3、销毁这个实例

string类型的各大方法还是有很大区别的 slice()、substr()、substring()
/*
* substring(beginIndex, endIndex);
* slice(beginIndex, endIndex);
* substr(beginIndex, numOfChar);
* 如果两个参数是负数的话,就截然不同。
* slice()方法会将传入的参数与字符串的长度相加
* substr()方法会将第一个负的参数加上字符串的长度,第二个负参数转换成0
* substring()方法会将所有负的参数都转换为0
*/

RegExp与String的模式匹配的区别:
var text = “cat, bat, sat, fat”;
var pattern = /.at/;

//与pattern.exec(text)相同
var matches = text.match(pattern);

RegExp正则表达式的方法有:
RegExp对象的exec(), pattern.exec(text);
pattern.test(text); 测试是否成功匹配,返回boolean
字符串的模式匹配:
match()方法:var matches = text.match(pattern);
search方法:
replace方法:
================
字符实体:
比如小于号 (<) 用于定义 HTML 标签的开始。如果我们希望浏览器正确地显示这些字符,我们必须在 HTML 源码中插入字符实体。
字符实体有三部分:一个和号 (&),一个实体名称,或者 # 和一个实体编号,以及一个分号 (;)。
如:< 等于< 或者<
空格
空格是 HTML 中最普通的字符实体。
通常情况下,HTML 会裁掉文档中的空格。假如你在文档中连续输入 10 个空格,那么 HTML 会去掉其中的9个。如果使用  ,就可以在文档中增加空格。
最常用的字符实体
显示结果 描述 实体名称 实体编号
空格    
< 小于号 < <
> 大于号 > >
& 和号 & &
" 引号 " "
' 撇号 ' (IE不支持) '
' 单引号:''' (single quote) '
其他一些常用的字符实体
显示结果 描述 实体名称 实体编号
¢ 分 ¢ ¢
£ 镑 £ £
¥ 日圆 ¥ ¥
§ 节 § §
© 版权 © ©
® 注册商标 ® ®
× 乘号 × ×
÷ 除号 ÷ ÷

global对象
URI编码方法:
encodeURI()和encodeURIComponent()方法。
encodeURI不会对URI规范中的保留字元的特殊字符进行转义。
encodeURIComponent()方法对所有的非标准字符进行转义。
举个例子:
http://openhome.cc/addBookmar.do?url=http://openhome.cc
对整个URI使用encodeURI(),而只对URI后面的字符串使用encodeURIComponent()
于是就变成了http://openhome.cc/addBookmar.do?url=http%3A%2F%2Fopenhome.cc

在URI的規範中定義了一些保留字元(Reserved character),像是「:」、「/」、「?」、「&」、「=」、「@」、「%」等字元
各种特殊字符的URI编码:
字符 URL编码值
space %20
" %22
# %23
% %25
& %26
( %28
) %29
+ %2B
, %2C
/ %2F
: %3A
; %3B
< %3C
= %3D
> %3E
? %3F
@ %4o
/ %5C
| %7C

URL中一些字符的特殊含义,基本编码规则如下:
1、空格换成加号(+)
2、正斜杠(/)分隔目录和子目录
3、问号(?)分隔URL和查询
4、百分号(%)制定特殊字符
5、#号指定书签
6、&号分隔参数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《JavaScript高级程序设计》(第三版)是一本经典的JavaScript技术书籍。此书由Nicholas C. Zakas撰写,涵盖了广泛的主题,适合有一定JavaScript基础的读者。本书详细介绍了JavaScript语言的各个方面,包括基本语法、DOM操作、BOM操作、事件处理、Ajax、浏览器兼容性问题等。 这本书的优点之一是作者对JavaScript的深刻理解和独特的教学方法。他将复杂的概念和技术变得简单易懂,通过实际的例子和案例来解释和演示。读者可以通过跟随书中的练习和项目,逐渐提升自己的JavaScript编程能力。 此外,本书还包含了一些高级主题,如函数、闭包、面向对象编程等。这些主题对于想要深入理解JavaScript的读者来说十分有价值。此外,作者还介绍了一些最佳实践和优化技巧,帮助读者编写更高效、可维护的JavaScript代码。 《JavaScript高级程序设计》(第三版)最大的优点之一是其综合性。它涵盖了JavaScript的各个方面,并且通过详细的目录、索引和附录,方便读者在需要时进行查找和参考。此外,书中还有大量的实例代码和详细的解释,使得读者能够更好地理解和应用所学的知识。 总结来说,《JavaScript高级程序设计》(第三版)是一本非常全面、详尽的JavaScript技术书籍。它不仅适合有一定基础的读者,也适合那些想要深入了解JavaScript编程的人。无论是作为学习教材还是作为参考书,这本书都是非常有价值的。阅读本书将有助于读者提升自己的JavaScript编程能力,并掌握一些高级技术和最佳实践。 ### 回答2: 《JavaScript高级程序设计(第三版)》是一本经典的JavaScript编程指南,由著名的JavaScript专家尼古拉斯·泽卡斯(Nicholas C. Zakas)撰写。该书自2009年首次出版以来,一直被广泛用作学习JavaScript的参考书籍。 这本书从基础知识讲起,逐渐引导读者深入了解JavaScript的各个方面。作者详细介绍了JavaScript的语法、数据类型、运算符、函数、对象、数组等核心概念,并通过大量的实例和案例进行讲解,帮助读者理解和应用这些知识。 《JavaScript高级程序设计(第三版)》特别关注JavaScript高级特性和最佳实践。作者深入浅出地讲解了闭包、原型链、作用域链等概念,并详细探讨了JavaScript的错误处理、异步编程和模块化等重要主题。读者通过学习这些内容,可以编写出更加高效、可维护和可扩展的JavaScript代码。 此外,书中还介绍了如何在浏览器环境和服务器环境中使用JavaScript,包括DOM操作、事件处理、Ajax、Web存储等技术。作者还对跨浏览器兼容性进行了讨论,帮助读者解决在不同浏览器中遇到的兼容性问题。 总之,《JavaScript高级程序设计(第三版)》是一本非常全面和权威的JavaScript学习资料。它适合初学者学习JavaScript的基础知识,也适合有一定经验的开发者深入了解和掌握JavaScript高级特性。无论是前端开发还是后端开发,读者都能从中获得宝贵的经验和知识。 ### 回答3: 《JavaScript高级程序设计》(第三版)是一本经典的JavaScript编程教材。该书由Nicholas C. Zakas撰写,对JavaScript的核心概念和高级技术进行了深入讲解。 该书主要分为三个部分。第一部分介绍了JavaScript语言的基础知识,包括语法、数据类型、流程控制、函数等内容。这一部分的目的是帮助读者建立对JavaScript基础的扎实理解,为后续的高级概念打下基础。 第二部分是该书的核心内容,讨论了JavaScript的面向对象编程和浏览器环境中的DOM操作。读者将学习使用构造函数、原型和继承等概念来开发复杂的JavaScript应用程序。此外,本书还给出了大量的示例代码和实践项目,帮助读者提升编程实战能力。 第三部分则涵盖了一些高级主题,如错误处理、数据存储、正则表达式、Ajax等。这些议题是现代Web开发中非常重要的部分,对于提升网页交互性和用户体验至关重要。 《JavaScript高级程序设计》(第三版)在内容上更为详尽全面,适合具备一定JavaScript基础的读者学习。此外,该书侧重于实践应用,深入浅出地讲解了一些复杂的概念,并通过实例和项目帮助读者学以致用。 总的来说,该书通过系统性的介绍和练习,帮助读者逐步掌握JavaScript的核心概念和高级技术,为他们成为出色的JavaScript开发者奠定坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值