`
lodachi
  • 浏览: 10757 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

<JavaScript权威指南>读书笔记

阅读更多
/* 前段时间在泰安时,没事干,啃了一段时间<JavaScript权威指南>,还没看完就出差了,不知道啥时候能把后边的也看了,这样就算系统的学过JavaScript了:) */

js是区分大小写的,但html不区分,所以容易混淆。


js关键字(部分):in,default,with,delete


如果尝试给一个未用var声明的变量赋值,JS会隐式声明该变量,但隐式声明的变量总是被创建为全局变量。


JS没有块级作用域,函数中声明的所有变量,无论是在哪里声明的,在整个函数中它们都是有定义的。
示例1:
if(..){
var j=0;
}
alert(j); //j仍有定义,但没有被初始化,显示"undefined"
示例2:
var scope='global';
function f(){
alert(scope); // 显示"undefined",而不是"global"
var scope = "local";
alert(scope);
}
上面的示例相当于:
var scope='global';
function f(){
var scope;
alert(scope); // 知道为什么结果是"undefined"了吧
scope = "local";
alert(scope);
}
这个例子说明了把所有变量的声明放在函数的开头是一个好的编程习惯。(在java中恐怕这不是好习惯)



var x; // 声明一个未赋值的变量,它的值为undefined
alert(u); // 使用未声明的变量将引发错误
u=3; // 给未声明的变量赋值,将创建该变量



var f = new Function("x","y","return x*y;"); // Function()构造函数 每次调用都会解析和编译一次
等价于
function f(x,y) { return x*y; } // function语句
等价于
var f = funtion(x,y) { return x*y; } // 函数直接量 只被解析和编译一次




原型对象:

//为我们的类定义一个构造函数方法
function Circle(x,y,r){
    this.x=x;
    this.y=y;
    this.r=r;
}

//为了能和JavaScript1.1兼容,在使用原型对象给那个类的对象赋予方法和常量之前,
//至少应该创建该类的一个对象。
new Circle(1,2,3);

//定义一个常量,即所有Circle对象共享的属性
Circle.prototype.pi = 3.14159;

//定义一个计算圆周长的方法
function Circle_circumference(){
    return 2 * this.pi * this.r;
}
//然后把它赋值给原型对象的属性
Cricle.prototype.circumference = Circle_circumference;

//定义另一个方法 这次使用函数直接量来定义函数
Circle.prototype.area = function() {
    return this.pi * this.r * this.r;
}

//重写Object的toString方法
Circle.prototype.toString = function() {
    return "this is a circle.";
}

//重写Object的valueof方法
Circle.prototype.valueof = function() {
    return "It's area is " + this.area();
}

//类方法,构造函数自身的属性(而不是构造函数的原型对象的属性),注意区别
//这里不能用this,相当于Java的静态方法,\(^o^)/~
Circle.getPi = function() { return 3.14159;}

//现在我们可以创建一个实例并调用它的方法
var c = new Circle(1.1, 1.2, 1.0);
var a = c.area();
var p = c.circumference();
var pi = Circle.getPi();
alert(c); // 相当于 alert(c.valueof());
//当进行对象到字符串的自动转换时,valueof()的优先级高于toString()

//系统类 原型对象使用举例
String.prototype.endsWith = function(c){
    return c == this.charAt(this.length-1);
}

附:单词circle、prototype的读写



虽然JavaScript不是一种以类为基础的面向对象程序设计语言,但JavaScript大量的使用了对象,而且它还有自己的以原型对象为基础的继承机制,这些又说明JavaScript是一种真正的面向对象语言。虽然JavaScript并没有正式的类的概念,但它用构造函数和原型对象模拟了类。



object.property 等价于 object["property"]
后者更灵活,比如有时候可能写成object[str+""+i]



Object类的部分属性和方法:
1、toString()方法
Object的toString()方法返回的字符串形式总是 [object class] ,class是对象的内部类型,通常对应于该对象的构造函数名。
2、valueof()方法
相似于toString()方法。定义valueof()时需要注意,某些环境中,当进行对象到字符串的自动转换时,valueof()的优先级高于toString()。
3、hasOwnProperty()方法
    var o = new Object();
    o.hasOwnProperty("under"); // false,没有定义该属性
    o.hasOwnProperty("toString"); // false,toString是一个继承属性
    Math.hasOwnProperty("cos"); // true,Math对象有cos属性



正则表达式:
var pattern = /s$/; 等价于 var pattern = new RegExp("s$");
就像字符串直接量被定义为包含在引号内的字符一样,正则表达式直接量也被定义为包含在一对斜杠之间的字符。
 
分享到:
评论

相关推荐

    JavaScript 权威指南(第四版)2

    &lt;JavaScript权威指南&gt;全面介绍了JavaScript语言的核心,以及Web浏览器中实现的遗留和标准的DOM。它运用了一些复杂的例子,说明如何处理验证表单数据、使用cookie、创建可移植的DHTML动画等常见任务。本书还包括详细...

    Javascript权威指南学习笔记二

    自己对《Javascript权威指南》的学习过程中摘录下来的笔记,去掉了那些简单的、罗索的相关介绍,重点在于那些不常用到的语法,规则,以及重点内容的相关示例,此为WORD版,这是第二部分,主要是讲客户端Javascript的...

    JavaScript权威指南(5th)

    This book is both an example-driven programmer's guide and a keep-on-your-desk reference, with new chapters that explain everything you need to know to get the most out of JavaScript, including:&lt;br&gt;...

    JavaScript权威指南(第五版)

    资源名称:Javascript权威指南(第五版)内容简介:《Javascript权威指南第4版》中文版出版至今已有三年多的时间。这本《JaVascript权威指南》连续印刷5次,销售数十万册,成为很多Javascript...

    [JavaScript权威指南(第6版)]

    《JavaScript权威指南(第6版)》主要讲述的内容涵盖JavaScript语言本身,以及Web浏览器所实现的JavaScript API。本书第6版涵盖了HTML5和ECMAScript 5,很多章节完全重写,增加了当今Web开发的最佳实践的内容,新增...

    javascript权威指南_高清版pdf_1

    javascript权威指南_高清版,分为两个分卷,下载解压后双击运行.bat文件即可合并。

    JavaScript权威指南

    JavaScript 权威指南 JavaScript 权威指南 JavaScript 权威指南 JavaScript 权威指南 JavaScript 权威指南 JavaScript 权威指南 JavaScript 权威指南 JavaScript 权威指南 JavaScript 权威指南 JavaScript 权威指南 ...

    javascript 权威指南 最新版

    本书是程序员学习核心JavaScript语言和由Web浏览器定义的JavaScript API的指南和综合参考手册。 第6版涵盖HTML 5和ECMAScript 5。很多章节完全重写,以便与时俱进,紧跟当今的最佳Web开发实践。本书新增章节描述了...

    JavaScript权威指南(第6版)(中文版)

    《JavaScript权威指南(第6版)》全面介绍了JavaScript语言的核心,以及Web浏览器中实现的遗留和标准的DOM。它运用了一些复杂的例子,说明如何处理验证表单数据、使用cookie、创建可移植的DHTML动画等常见任务。...

    JavaScript学习教程

    第一课 &lt;br&gt; Javascript教程 &lt;br&gt; 课程简介 &lt;br&gt; 实际应用 &lt;br&gt; 隐藏JavaScript &lt;br&gt; 第一天复习 &lt;br&gt; 第二课 &lt;br&gt; 第二天课程简介 &lt;br&gt; 变量介绍 &lt;br&gt; 首个变量例子的程序主体 &lt;br&gt; 字符串的魔力 &lt;br&gt; 变量练习 &lt;br...

    JavaScript权威指南第五版

    &lt;br&gt;&lt;br&gt;&lt;br&gt;《JavaScript权威指南》全面介绍了JavaScript语言的核心,以及Web浏览器中实现的遗留和标准的DOM。它运用了一些复杂的例子,说明如何处理验证表单数据、使用cookie、创建可移植的DHTML动画等常见任务。...

    js星级评论打分效果

    &lt;span&gt;js星级评论打分&lt;/span&gt; &lt;ul&gt; &lt;li&gt; &lt;a href="javascript:;"&gt;1&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href="javascript:;"&gt;2&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href="javascript:;"&gt;3&lt;/a&gt; &lt;/li&gt; ...

    jive.chm

    &lt;br&gt; 3 在java中编程实现数字签名系统 &lt;br&gt; 4 关于Jive1中的验证和相关类的调用 &lt;br&gt;&lt;br&gt; 5 MD5的加密算法(JavaScript) &lt;br&gt;&lt;br&gt; &lt;br&gt; &lt;br&gt;产品介绍&lt;br&gt; 1 Jive简介 &lt;br&gt;&lt;br&gt; Jive Forums&lt;br&gt; 1 Jive Forums特性 &lt;br...

    JavaScript 权威指南下载

    JavaScript 权威指南下载 JavaScript 权威指南下载

    JavaScript—The Definitive Guide, 6th Edition[JavaScript权威指南](英文版)

    《O'Reilly精品图书系列:JavaScript权威指南(第6版)》讲述的内容涵盖JavaScript语言本身,以及Web浏览器所实现的JavaScriptAPI。《O'Reilly精品图书系列:JavaScript权威指南(第6版)》涵盖了HTML5和ECMAScript5,很多...

    JavaScript权威指南(第六版)

    1、JavaScript权威指南(第六版)-中文扫描版.pdf 2、JavaScript权威指南(第六版)-中文.mobi 3、JavaScript权威指南(第六版)-英文文字版.pdf 4、JavaScript权威指南(第六版)-英文.epub 5、JavaScript权威指南...

    JavaScript权威指南(第5版)PDF版本下载.txt

    JavaScript权威指南(第5版)PDF版本下载

    QML版源码

    基于Qt/QML与JavaScript编写的&lt;围住神经猫&gt;,独立的中文字库,可以直接编译到Linux、Android或其他平台运行。

    JavaScript 权威指南 中文版

    JavaScript 权威指南 中文版JavaScript 权威指南 中文版

Global site tag (gtag.js) - Google Analytics