`
jaesonchen
  • 浏览: 313103 次
  • 来自: ...
社区版块
存档分类
最新评论

javascript(对象基础)

阅读更多

JavaScript世界中对于对象的定义:(来自ECMAScript规范)

“unordered collection of properties each of which contains a primitive value, object, or function.” (也就是无次序的一组值)


 

对象的种类:

Native 对象:


Array:注意join()的用法和StringArray之间的转换(split())以及concat(),slice()方法,以及pop()push()(最后一个元素);shift()unshift()(第一个元素)的使用(Array可以当作Stack来用),以及reverse()Sort()的用法。

Date源于java.util.Date的早期版本,与Java一样,date实质上是从1970,11日零时算起的毫秒数(使用Date.UTC(1970,0,1,0,0,0),注意月份是0-11,实际上是可以取其他值的,只不过,-1就会把年减为196912就会把年加为1971, 另外年应该输入全位数,如果0-99则为1900+year,)


    默认构造器生成当前时间(var d = new Date()),注意Prase()方法的使用(new Date(Date.prase(“2006/01/05”));toString()valueOf()对于Date来说是不同的;以及toDateString(),toTimeString();以及toUTCString()的用法(转换为UTC标准时间,也就是GMT时间,即中国(北京)时间减八小时)。注意:getDate()getDay()的区别,前者为得到今天的日期,后者为得到星期几(0-6,周日为0),如今天为16日,周五,则得到65


—————————————————————————————————————————

Build-in 对象:

定义(ECMAScript规范):

any object supplied by an ECMAScript implementation, independent of the host environment, which is present at the start of the execution of an ECMAScript program.”

包括:

GlobleMath

Globle

这个对象并不能直接引用,它是所有Stand-alone function的实际对象,例如parseInt(),isNaN(),等,但是不可以直接引用它,它对于developer是不可见的。重要的Stand-alone function还有encodeURL()/decodeURL() (注意:支持非ASCII字符,所以不要再使用旧的BOM中的escape()/unescape()了);另外还有eval()(就如同独立的语法解释器一样,执行输入字符串代表的JavaScript语句),此外,所有的native对象的构造器实际上都是Globle对象的属性,当然,因为Globle是不可见的,所以是不能通过它来引用的。(注意,Globle只是个概念含义,对于程序是没有意义的

Math

有很多有用的方法和属性,例如属性有:Math.PI ; Math.E 方法有max()abs()(绝对值);ceil()(进位取整) floor()(截尾取整) round()(四舍五入);random()01直接随机数,但不包括01


有用的方法,得到一个一定范围的随机数:



—————————————————————————————————————————

Host对象

定义:

所有不属于nativebuild-in)对象的对象,也就是由Host环境(指一个ECMAscript实现)提供的对象,例如BOMDOM对象。

—————————————————————————————————————————

对象的Scope

JavaScript的所有方法和属性都是Public的,没有ProtectedPrivate;所以只能靠编程习惯来尽量避免,如变量的命名方法,私有变量可以声明为obj._color 来提醒,但这并不能阻止访问,只是提醒而已

Java中的Static方法和Static域有吗?严格的说,没有。但可以通过在构造器中声明function来得到某种程度上的Static

This关键字,this keyword always points to the object that is calling a particular method 。记住是callingobject

—————————————————————————————————————————

JavaScript中创建对象

创建对象,最好的办法:混合构造器和prototype

例子:




属性是每个对象不同的,所以使用构造器,方法是每个对象共有的,所以用原形(prototype)。

但是这种方法对于原形定义放在构造器以外,这让有些泛Java程序员使用起来不习惯,所以有人提出动态原形的方法,即把原形声明放在构造器中,但通过条件控制还判断是否还需要调用。这种方法类似Java中实现Sington模式的方法。

这种方法被称为:动态原形方法(Dynamic prototype method

 

 



这种方法好处是比较接近Java类的样式,但是因为私有变量实际是不存在的,所以只能靠人为的认定。

对于JavaScript来说,类似JavaString也是Immutable的,

有用的方法 仿照JavaStringBuffer




—————————————————————————————————————————

JavaScript的对象修改

这是脚本语言特有的功能,所有的对象都可以修改,包括native对象。How?通过prototype

例如NumbertoString方法,toString(16)表示转换为16进制,但不方便记忆,可以自定义一个toHexString()方法(如Number.prototype.toHexString = function () { return this.toString(16)};

当然也可以覆盖掉已经存在的方法。更有甚者,还可动态修改一个已经创建的对象的原形,这被称为甚迟绑定very late binding(不是必须,别乱用)

  • 大小: 4.5 KB
  • 大小: 6.5 KB
  • 大小: 11.7 KB
  • 大小: 5.5 KB
  • 大小: 6.5 KB
分享到:
评论

相关推荐

    JavaScript对象基础知识TXT阅读文档

    JavaScript,脚本,对象基础知识,TXT阅读文档 JavaScript,脚本,对象基础知识,TXT阅读文档 JavaScript,脚本,对象基础知识,TXT阅读文档 JavaScript,脚本,对象基础知识,TXT阅读文档 JavaScript,脚本,对象基础知识,TXT阅读...

    javascript对象参考手册

    1. **JavaScript对象基础**:对象是JavaScript中的主要数据结构,由键值对构成,可以看作是关联数组。它们通过`{}`定义,键通常为字符串,值可以是任何数据类型。此外,了解原型链和构造函数是理解JavaScript对象的...

    JavaScript面向对象基础PPT

    JavaScript面向对象基础PPT,讲述了何谓面向对象、面向对象特点、组成及写法、工厂模式、原型以及如何将普通面向过程的代码转换为面向对象的基本原则

    JavaScript面向对象基础.ppt

    8.3.1 JavaScript对象模型 JavaScript有全局对象、内置对象、宿主对象等层次结构,如DOM(文档对象模型)和BOM(浏览器对象模型)。 8.3.2 客户端对象层次介绍 客户端对象层次主要涉及浏览器提供的对象,如window、...

    21天学通JavaScript(第2版)

    第二篇专门介绍javascript中内置对象的应用,内容包括javascript对象基础、窗口和框架、屏幕和浏览器对象、文档对象、历史对象和地址对象、表单对象和表单元素和脚本化cookie等。第三篇讲解的是javascript的高级技术...

    21天学通javascript——PDF完整版下载.zip

    第二篇专门介绍Javascript中内置对象的应用,内容包括Javascript对象基础、窗口和框架、屏幕和浏览器对象、文档对象、历史对象和地址对象、表单对象和表单元素和脚本化cookie等。第三篇讲解的是Javascript的高级技术...

    javascript完全学习手册1 源码

    3.1 JavaScript对象概述 43 3.1.1 对象的概念 43 3.1.2 使用JavaScript对象 基础知识 44 3.2 Array对象 46 3.2.1 创建Array对象 46 3.2.2 Array对象属性 47 3.2.3 Array对象方法 48 3.3 String对象 51 3.3.1 创建...

    Javascript面向对象基础.rar

    在这个“JavaScript面向对象基础”的资料中,我们将会探讨JavaScript中的类、对象、封装、继承以及多态等关键概念。 1. **对象与对象字面量** 在JavaScript中,对象是由键值对组成的无序集合,可以使用对象字面量...

    《JavaScript内核系列》和《JavaScript面向对象基础》

    《JavaScript内核系列》和《JavaScript面向对象基础》这两本书是深入理解JavaScript编程的重要资源。JavaScript,作为一种广泛应用于Web开发的脚本语言,其内核和面向对象特性是开发者必须掌握的基础知识。以下是对...

    Javascript面向对象基础

    JavaScript对象有一个内置的`__proto__`属性,指向创建它的构造函数的原型对象。原型对象包含共享的属性和方法,子对象可以通过原型链访问这些属性和方法。`prototype`属性则用于设置构造函数的原型,例如`Person....

    面向对象JavaScript精要(英文原版pdf)

    本书全面覆盖了面向对象编程的基础理论,并结合JavaScript的具体实现进行讲解。 - **第一章:JavaScript简介**:介绍JavaScript的发展历程、特点及其与Web浏览器的关系。 - **第二章:面向对象编程简介**:解释OOP...

    深入浅出JavaScript对象模型

    ### 深入浅出JavaScript对象模型 #### JavaScript对象的本质 根据ECMA262规范,ECMAScript被定义为一种基于对象的语言而非传统的面向对象语言。这意味着在JavaScript中,对象被视为存储数据的一种大型数组形式,...

    21天学通JavaScript 源代码1(还有10章在源代码2文件)

    第二篇专门介绍JavaScript中内置对象的应用,内容包括JavaScript对象基础、窗口和框架、屏幕和浏览器对象、文档对象、历史对象和地址对象、表单对象和表单元素和脚本化cookie等。第三篇讲解的是JavaScript的高级技术...

    21天学通JavaScript 源代码2(有一部分在源码1文件中)

    第二篇专门介绍JavaScript中内置对象的应用,内容包括JavaScript对象基础、窗口和框架、屏幕和浏览器对象、文档对象、历史对象和地址对象、表单对象和表单元素和脚本化cookie等。第三篇讲解的是JavaScript的高级技术...

    javascript完全学习手册2 源码

    3.1.2 使用JavaScript对象基础知识 3.2 Array对象 3.2.1 创建Array对象 3.2.2 Array对象属性 3.2.3 Array对象方法 3.3 String对象 3.3.1 创建String对象 3.3.2 String对象属性 3.3.3 String对象方法...

    javascript 面向对象基础

    在本文中,我们将深入探讨 JavaScript 的面向对象基础,主要包括类的定义、实例化以及对象属性和方法的引用。 首先,让我们了解如何在 JavaScript 中定义一个类。在 JavaScript 中,类通常通过函数来实现。例如,...

Global site tag (gtag.js) - Google Analytics