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

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面向对象基础PPT

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

    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完全学习手册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面向对象基础.rar

    Javascript面向对象基础.rar

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

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

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

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

    Javascript面向对象基础

    Javascript面向对象基础 (朋友给我的 我给大家喽 。)

    JavaScript面向对象编程指南.pdf

    面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...

    javascript面向对象技术基础

    javascript面向对象技术基础,javascript面向对象技术基础

    JavaScript面向对象编程指南

    面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...

    JavaScript的基础资料(语法,DOM对象模型等)

    JavaScript的基础资料(语法,DOM对象模型等)JavaScript的基础资料(语法,DOM对象模型等)

    javascript面向对象编程

    面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...

    JavaScript面向对象基础.ppt

    这个是针对JavaScript的那个章节做的分析,希望对大家能有帮助,想要了解的人可是下来看看~!

Global site tag (gtag.js) - Google Analytics