摘要:
作用域、闭包、模拟私有属性先来简单说一下变量作用域,这些东西我们都很熟悉了,所以也不详细介绍。Js代码 varsco="global";//全局变量functiont(){varsco="local";//函数内部的局部变量alert(sco);//local优先调用局部变量}t();//localalert(sco);//global不能使用函数内的局部变量注意一点,在javascript中没有... 阅读全文
摘要:
类、构造函数、原型先来说明一点:在上面的内容中提到,每一个函数都包含了一个prototype属性,这个属性指向了一个prototype对象(Every function has a prototype property that refers to a predefined prototype object --section8.6.2).注意不要搞混了.构造函数:new操作符用来生成一个新的对象... 阅读全文
摘要:
类变量/类方法/实例变量/实例方法先补充一下以前写过的方法:在javascript中,所有的方法都有一个call方法和apply方法.这两个方法可以模拟对象调用方法.它的第一个参数是对象,后面的参数表示对象调用这个方法时的参数(ECMAScript specifies two methods that are defined for all functions, call() and apply(... 阅读全文
摘要:
数组我们已经提到过,对象是无序数据的集合,而数组则是有序数据的集合,数组中的数据(元素)通过索引(从0开始)来访问,数组中的数据可以是任何的数据类型.数组本身仍旧是对象,但是由于数组的很多特性,通常情况下把数组和对象区别开来分别对待(Throughout this book, objects and arrays are often treated as distinct datatypes.Th... 阅读全文
摘要:
函数javascript函数相信大家都写过不少了,所以我们这里只是简单介绍一下.创建函数:function f(x) {........}var f = function(x) {......}上面这两种形式都可以创建名为f()的函数,不过后一种形式可以创建匿名函数函数定义时可以设置参数,如果传给函数的参数个数不够,则从最左边起依次对应,其余的用undefined赋值,如果传给函数的参数多于函数定... 阅读全文
摘要:
看了很多介绍javascript面向对象技术的文章,很晕.为什么?不是因为写得不好,而是因为太深奥.javascript中的对象还没解释清楚怎么回事,一上来就直奔主题,类/继承/原型/私有变量....结果呢,看了大半天,有了一个大概的了解,细细一回味,好像什么都没懂...这篇文章是参考<<javascript-the definitive guide,5th edition>&g... 阅读全文
摘要:
原创作者: abruzzi 第八章 面向对象的Javascript面向对象编程思想在提出之后,很快就流行起来了,它将开发人员从冗长,繁复,难以调试的过程式程序中解放了出来,过程式语言如C,代码的形式往往如此:C代码 Componentcomp;init_component(&comp,props);而面向对象的语言如Java,则会是这种形式:Java代码 Componentcomp;com... 阅读全文
摘要:
原创作者: abruzzi 接上篇:JavaScript内核系列 第8章 面向对象的JavaScript(上)8.4实例:事件分发器这一节,我们通过学习一个面向对象的实例来对JavaScript的面向对象进行更深入的理解,这个例子不能太复杂,涉及到的内容也不能仅仅为继承,多态等概念,如果那样,会失去阅读的乐趣,最好是在实例中穿插一些讲解,则可以得到最好的效果。本节要分析的实例为一个事件分发器(Ev... 阅读全文
摘要:
原创作者: abruzzi 第七章 闭包闭包向来给包括JavaScript程序员在内的程序员以神秘,高深的感觉,事实上,闭包的概念在函数式编程语言中算不上是难以理解的知识。如果对作用域,函数为独立的对象这样的基本概念理解较好的话,理解闭包的概念并在实际的编程实践中应用则颇有水到渠成之感。在DOM的事件处理方面,大多数程序员甚至自己已经在使用闭包了而不自知,在这种情况下,对于浏览器中内嵌的JavaS... 阅读全文
摘要:
原创作者: abruzzi 阅读:388次 评论:2条 更新时间:2010-05-13第九章 函数式的Javascript要说JavaScript和其他较为常用的语言最大的不同是什么,那无疑就是JavaScript是函数式的语言,函数式语言的特点如下:函数为第一等的元素,即人们常说的一等公民。就是说,在函数式编程中,函数是不依赖于其他对象而独立存在的(对比与Java,函数必须依赖对象,方法是对象的... 阅读全文
摘要:
原创作者: abruzzi 第六章 正则表达式正则表达式是对字符串的结构进行的形式化描述,非常简洁优美,而且功能十分强大。很多的语言都不同程度的支持正则表达式,而在很多的文本编辑器如Emacs,vim,UE中,都支持正则表达式来进行字符串的搜索替换工作。UNIX下的很多命令行程序,如awk,grep,find更是对正则表达式有良好的支持。JavaScript同样也对正则表达式有很好的支持,RegE... 阅读全文
摘要:
原创作者: abruzzi 第五章 数组JavaScript的数组也是一个比较有意思的主题,虽然名为数组(Array),但是根据数组对象上的方法来看,更像是将很多东西混在在一起的结果。而传统的程序设计语言如C/Java中,数组内的元素需要具有相同的数据类型,而作为弱类型的JavaScript,则没有这个限制,事实上,JavaScript的同一个数组中,可以有各种完全不同类型的元素。方法描述conc... 阅读全文
摘要:
原创作者: abruzzi 第四章 函数函数,在C语言之类的过程式语言中,是顶级的实体,而在Java/C++之类的面向对象的语言中,则被对象包装起来,一般称为对象的方法。而在JavaScript中,函数本身与其他任何的内置对象在低位上是没有任何区别的,也就是说,函数本身也是对象。总的来说,函数在JavaScript中可以:Ø 被赋值给一个变量Ø 被赋值为对象的属性&Os... 阅读全文
摘要:
原创作者: abruzzi 第三章 对象与JSONJavaScript对象与传统的面向对象中的对象几乎没有相似之处,传统的面向对象语言中,创建一个对象必须先有对象的模板:类,类中定义了对象的属性和操作这些属性的方法。通过实例化来构筑一个对象,然后使用对象间的协作来完成一项功能,通过功能的集合来完成整个工程。而Javascript中是没有类的概念的,借助JavaScript的动态性,我们完全可以创建... 阅读全文
摘要:
原创作者: abruzzi 第二章 基本概念本章将聚焦于JavaScript中的基本概念,这些概念与传统语言有比较大的不同,因此单独列出一章来做专门描述,理解本章的概念对书中后续章节的概念,代码的行为等会有很大的帮助,读者不妨花比较大的时间在本章,即使你对JavaScript已经比较熟悉,也建议通读本章。本章主要讲述JavaScript中的数据类型(基本类型与引用类型),变量(包括变量的作用域),... 阅读全文
摘要:
原创作者: abruzzi 前言从2006年第一次接触JavaScript至今,算来也有四年时间了。上大学的时候,有一段时间沉迷于函数式编程,而那时候对JavaScript的理解仅仅局限在这是用来做网页的一种脚本,那些很恶心的弹出窗口和不断在页面上漂浮的黄色广告就是用JavaScript做出来的。工作之后,由于我们产品本身就是基于WEB展现的,而这个时候Ajax已经复兴数年了,但是于我,则只有&l... 阅读全文
摘要:
1、复制专题地址和url地址<input type="button" name="anniu1" onClick='copyToClipBoard()' value="复制地址"> <script language="javascript"> function copyToClipBoard(){ var clipBoardContent=""; clipBoardC... 阅读全文