`
lodachi
  • 浏览: 11078 次
  • 性别: 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权威指南笔记

    JavaScript权威指南笔记是深入理解和掌握JavaScript这门编程语言的重要参考资料。这份笔记包含了作者在研读《JavaScript权威指南》过程中的学习体会和理解,旨在帮助读者更有效地掌握JavaScript的核心概念、语法特性...

    javascript参考教程javascript高级教程javascript权威指南(第四版)

    《JavaScript权威指南(第四版)》则是一本详尽的JavaScript学习资料,它涵盖了语言的最新发展,例如ES6及后续版本引入的新特性。这里你可以了解到箭头函数、解构赋值、类与继承、模板字符串、迭代器和生成器等。...

    js权威指南读书笔记.docx

    js权威指南读书笔记.docx

    js权威指南读书笔记.pdf

    js权威指南读书笔记.pdf

    JavaScript 权威指南(第四版) 读书笔记

    Javascript是无类型、解释型语言 对大小写敏感 html对大小写不敏感 忽略空格符、制表符、换行符(关键字、变量、正则表达式 除外) “;”分号可选择 //单行注释 /*多行注释*/ 标示符 开头必须是字母、下划线、$符号 ...

    《jQuery权威指南》学习笔记之第3章 jQuery操作DOM

    在深入探讨jQuery操作DOM的详细知识点之前,先简要介绍一下jQuery。jQuery是一个高效、简洁的JavaScript库,它极大...通过阅读《jQuery权威指南》第三章,你将更深入地理解这些概念,并学会如何在实际项目中有效应用。

    《jQuery权威指南》学习笔记之第1章 jQuery开发入门

    在实际学习过程中,通过阅读《jQuery权威指南》第1章并配合测试代码(未提供具体内容),可以更深入地理解和实践上述知识点,逐步掌握jQuery的开发基础。同时,不断练习和应用这些知识,才能真正提升开发技能,实现...

    Oreilly.HTML学习笔记

    在《HTML and XHTML: The Definitive Guide》中,读者还会接触到更高级的主题,如框架集`&lt;frameset&gt;`、服务器端脚本交互、JavaScript与DOM(Document Object Model)的集成,以及如何利用HTML5的新特性,如语义化...

    《jQuery权威指南》学习笔记之第4章 jQuery中的事件与应用

    在深入探讨jQuery中的事件与应用之前,我们先要理解jQuery库的基本概念。...在阅读《jQuery权威指南》的第4章时,重点关注上述内容,结合实际项目进行实践,将有助于巩固和深化对jQuery事件处理的理解。

    HTML5权威指南 阅读计划-叶糖糖1

    《HTML5权威指南》是一本全面且深入介绍HTML5、CSS和JavaScript的书籍,适合初级到中级前端工程师阅读。本书的特色在于系统性地涵盖了HTML5的各项新特性,包括标记文字、文档分节、表格元素、表单以及自定义input...

    笔记:读书笔记,读书笔记

    :open_book: 读书笔记 :slightly_smiling_face: :upside-down_face: 买过很多书,也打印过很多电子版的书籍和资料,断断续续的读,杂乱无章。心血来潮,想自己整理一下,希望可以坚持下去,不断学习,不断提升自己。...

    前端开发书籍推荐与学习路线.docx

    * 推荐书籍:JavaScript 高级程序设计、JavaScript 权威指南、JavaScript 语言精粹 * 学习方法:边实战边记笔记,不要光看,要有方法的快速阅读 三、JavaScript 进阶 * 推荐书籍:《你不知道的 JavaScript》 * ...

    浅谈JS中逗号运算符的用法

    本文的理论知识来自于JavaScript权威指南,我这里做一下整理,或者说叫笔记。 如果你的基础够好的话,完全理解不成问题,但是如果读得有些郁闷的话,可以加我的QQ:76863715 阅读本文的前提是,你能区分什么是表达式...

    web-learning-notes

    这个资源涵盖了多个关键领域,包括HTML基础知识、面试准备、性能优化以及JavaScript的学习笔记,特别是阅读《JavaScript权威指南》的心得。让我们深入探讨这些知识点。 1. **HTML**:HTML(HyperText Markup ...

    Reading-notes:阅读笔记总结

    最近规划复习鸟叔Linux三,四壳JavaScript学习指南节点JS C底漆加数据结构-2.4学习JavaScript权威指南-2.3 JS学习指南里的推荐阅读Promise应用-2.12算法Leetcode Postfix文档-完成面试总结-2.2 FreeCodeCamp英语口语...

    Reading-Notes:读书笔记们

    学习笔记都在这里了 好好学习,天天向上!生命不息,阅读不止!...HTTP权威指南 Head First Java CSS3揭秘 Linux Command Line 大型网站技术架构核心原理与案例分析 锋利的jQuery JavaScript设计模式与开发实践

    Jquery 学习帮助文档

    通过阅读《jQuery权威指南》的读书笔记,我们可以深入理解这些概念,并在实践中灵活应用。jQuery不仅简化了JavaScript代码,还提高了开发效率,是现代Web开发不可或缺的工具。不断学习和掌握jQuery,将有助于提升...

    java script

    压缩包中的文件,如"javasript&DHTML.chm"可能涵盖了JavaScript与DHTML(Dynamic HTML)的结合使用,"JavaScript权威指南(英文版).chm"是一本深入学习JavaScript的参考书籍,"jsnote.doc"可能是个人的学习笔记,而...

    boutique-books:我读过的一些好书

    b00-阅读笔记 b01-数学 b02-计算机基本理论 《计算机网络》 b03-数据结构与算法 《算法图解》 《学习js数据结构与算法》 《数据结构与算法JavaScript描述》 b04-图形学与可视化 《HTML5 Canvas核心技术》 《WebGL...

Global site tag (gtag.js) - Google Analytics