Javascript有趣的东西

rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"> rel="themeData" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"> rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml">

1,一个完整的JavaScript实现由以下三部分组成:

         核心(ECMAScript)

         文档对象模型(DOM

         浏览器对象模型(BOM

 

2,ECMAScript的基础概念:

         区分大小写

         变量是弱类型

         每行的结尾可有可无

         注释与CJAVA PHP相同

         括号表明代码块

 

3,变量的命名规则

         Camel标记法:首字母是小写,接下来的单词都以大写字母开头

         Pascal标记法:首字母是大写,接下来的单词都以大写字母开头

         匈牙利标记法:在Pascal标记法前面加一个小写字母说明变量类型

 

4,变量可以存放的值的类型

         原始值:存储在栈中的简单数据段

         引用值:存储在堆中的对象

 

5typeof运算符检查变量或值的类型

         null值会返回Object..Javascript最初实现的一个错误

 

6Undefined类型

当声明的未初始化时,默认值为undefined

         当函数无明确返回值时,返回的也是undefined

 

7Null类型

         表示尚未存在的对象

         null == undefined(undefined实际上是从值null派生来)

 

8Number类型

         不管是什么进制的数进行运算返回的都是十进制结果

         浮点数进行计算前,真正存放的是字符串

         Number.MAX_VALUENumber.MIN_VALUE定义了Number值集合的外边界

         超过Number.MAX_VALUE的是Number.POSITIVE_INFINITY(Infinity)

         小于Number.MIN_VALUE的是Number.NEGATIVE_INFINITY(-Infinity)

         isFinit()方法可以判断该数是不是无穷大

         NaN值:表示非数,它与自身不相等(NaN != NaN

         isNaN()方法可以判断该数是不是数

 

9,伪对象和真的对象都有tostring()方法

         Numbertostring(5)表示以5进制表示

伪对象有属性和方法 eg: length属性

 

10String类型转成数字

         parseInt()parseFloat()

         只对String类型有效..其它类型都返回NaN

        

11,引用类型

         var 0 = new Object() ; var 0 = new Object ;(括号不是必需的)

 

         Object(所有类由这个类继承来)

                   Construtor:对创建对象的函数引用(object()

                   Prototype:对该对象的对象原型的引用(默认返回Object对象的一个实例)

                   HasOwnProperty(property):判断对象是否有某个特定的属性

                   IsPrototypeOf(object):判断对象是否是另一个对象的原型

                   PropertyIsEnumerable(property):判断属性是否可以枚举

                   ToString():返回对象的原始字符串表示

                   ValueOf():返回最适合该对象的原始值

        

         Boolean

                   创建时传递一个值.true or false

                   重写了ObjectValueOf()ToString()

                   所有对象在Boolean表达式中都会自动地转换为true

 

         Number

                  所有特殊值都是Number类的静态属性

                   toFixed():返回具有指定位数小数的数字的字符串表示

                   toExponential():与toFixed()一样..不过用科学计数法表示

                   toPrecision():以指定的数字总数返回它的值..表示不了可以四舍五入

                  

         String

                   length:字符串中的字符个数

                   charAt()charCodeAt():返回字符串中的单个字符或字符代码

                   concat():用于把一个或多个字符串连接到String对象的原始值中

                   indexOf()lastIndexOf():指定的字串在另一个字串中的位置

                   localeCompare():对字符串进行排序(比较)

                   slice()substring():返回要处理的字符串的子串,不改变string对象自身的值

                   toLowerCase(),toLocaleLowerCase():转成小写

                   toUpperCase(),toLocaleUpperCase():转成大写

 

         instanceof运算符用于识别对象的类型(PHP

 

12,运算符

         delete:删除以前定义的对象属性或方法的引用(将其设回undefined

         void:对任何值都返回undefined

 

13for-in语句:用于枚举对象的属性

 

14,函数

         函数不能重载

         特殊对象arguments:无需明确指出参数名,就能访问它们

                   第一个参数为arguments[0]

                   arguments.length:参数的个数

         ECMAScript不会验证传递给函数的参数个数是否等于函数定义的参数个数

                   最多能接受25

         Function

                   var function_name = new Function(arg1,arg2..argN, function_body) ;

        

15,本地对象

         Array

                   Array对象的动作像一个栈

                   push(),pop()用于添加和删除一个或多个项

                   shift()将删除数组中的一第一个项,将其作为函数值返回

                   unshift()把一个项放在数组的第一个位置,余下向后移动一个位置

                   reverse()颠倒数组项的顺序

                   sort()升序排序

                   splice()方法:

         Date

                   parse():接受字符串为参数,把该字符串转换成日期值(毫秒表示)

                   UTC():同上,参数为年月日

                   toDateString():

                   toTimeString():小时,,秒,时区

                   toLocaleString():

                   toLocaleDateString():

                   toLocaleTimeString():

                   toUTCString():

                   setXX()getXX()方法

 

16,内置对象(已经实例化了的对象)

         Global对象

                   实际上它根本不存在(var pointer = Global; 将得到错误)

                   把有函数都必须是某个对象的方法(isNaN()方法是Global里的)

                   encodeURI()encodeURIComponent()用于编码传递给浏览器的URI

                   decodeURI()decodeURIComponent()用于解码

                   eval() :接受一个要执行的字符串(最强大的方法之一)

         Math对象

                   max() min() abs() ceil() floor() round()

 

17,作用域

                   对象的属性和方法默认为公有的

                   没有静态作用域

                   关键字this总是指向调用该方法的对象

 

18,定义类或对象

         工厂方式(CreateObject)

         原型方式(利用对象的prototype属性)

         继承(.......

 

19BOM

         window对象

                   表示整个浏览窗口

                   如果是框架集合.每个框架都有它自己的window对象

                   如果页面没有框架,windowself就等于topframes集合的长度为0

                   moveBy(dx, dy):相对当前位置移动水平dx象素, 垂直移动dy象素

                   moveTo(x, y):使它的左上角位于用户屏幕的(x,y)

                   resizeBy(dw, dh):相对于当前大小..宽度调整dw个象素 高度调整dh个象素

                   resizeTo(w, h):宽度为w 高度为h

                   open()打开新窗口

                   close()关闭新窗口

                   alert() confirm() prompt()系统对话框

                   status:使状态栏的文本暂时改变

                   defaultStatus:用户离开当前页面一直改变该文本

                   setTimeout()

                   clearTimeout():

                   setInterval()

                   ClearInterval()

                   history 对象

                            go():前进或后退的页数

                            back() forward()

                  document对象

                            唯一一个既属于BOM又属于DOM的对象

                            属性:alinkColor bgColor fgColor lastModified linkColor referrer

                            title URL vlinkColor

                            集合:

                            anchors:所有锚的集合

                            applets:所有applet的集合

                            embeds:所有嵌入式对象的集合

                            forms:所有表单的集合

                            images:所有图像的集合

                            links:所有链接的集合

                            write() writeln()显示指定的内容

                            open(), close()打开或关闭文档

                   location对象(BOM中最有用的对象)表示载入窗口的URL

                            hash:

                            host:服务器的名字

                            hostname:一般等于host 有时会省掉www

                            href:完整url

                            pathname:主机名后的部分

                            port:端口

                            protocol:协议

                            search:Get请求?号后面的部分

                            assign()location.href

                            replace():不能back or forward访问

                            reload():重新载入

                   navigator对象

                            浏览器方面的

                   screen对象

                            availHeight:窗口可以使用的屏幕的高度

                            availWidth:窗口可以使用的屏幕的宽度

                            colorDepth:颜色的位数

                            height:屏幕的高度

                            width:屏幕的宽度

 

20DOM

         与语言无关的API

         W3CDOM最先应用于XML

                   XMLXML序言开始 : <?xml version=”1.0”?>

                   SAX提供了一个基于事件的XML解析的API

                   DOM是针对XML的基于树的API

         节点:

                   Document:最顶层的节点,所有的其他节点都是附属于它

                   DocumentTypeDTD引用的对象表现形式,它不包含子节点

                   DocumentFragment:可以像Document一样来保存其他节点

                   Element:表示起始标签和结束标签之间的内容

                   Attr:代表一对特性名和特性值,不能包含子节点

                   Text:起始标签与结束标签之间的普通文本

                   CDataSection<![CDATA[]]>的对象表现形式

                   Entity:表示在DTD中的一个实体定义

                   EntityReference:代表一个实体引用

                   ProcessingInstruction:代表一个API

                   Comment:代表XML注释

                   Notation:代表在DTD中定义的记号

         属性或方法:

                   nodeName:节点的名字

                   nodeValue:节点的值

                   nodeType:节点的类型

                   ownerDocument:指向这个节点的文档

                   firstChild:指向在childNodes列表中的第一个节点

                   lastChild:指向在childNodes列表中的最后一个节点

                   childNodes:所有子节点的列表

                   previousSibling:指向前一个节点

                   nextSibling:指向后一个节点

                   hasChildNodes():当childNodes包含一个或多个节点时,返回真

                   attributes:包含了一个元素的特性的Attr对象

                   appendChild(node):将node添加到childNodes的末尾

                   removeChild(node):从childNodes删除node

                   replaceChild(newnode, oldnode):将childNodes中的oldnode换成newnode

                   insertBefore(newnode, refnode):从childNodes中的refnode之前插入newnode

NodeList:节点数组,按照数值索引

NamedNodeMap:同时用数值和名字进行索引的节点表

         getNamedItem(name):返回nodeName属性值等于name的节点

         removeNamedItem(name):删除nodeName属性值等于name的节点

         setNamedItem(name):将node添加到列表中,按其nodeName属性进行索引

         getNameditem(pos):返回在位置pos的节点

         getAttribute(name)

         setAttribute(name, newvalue)

         removeAttribute(name)

         getElementsByTagName():返回一个包含所有的tagName的元素的NodeList

         getElementsByName():获取所有name特性的元素

         getElementsbyId():

         创建节点:

                   createxxx(..)

         createElement() createTextNode() appendChild()

         removeChild() replaceChild() insertBefore()

         createDocumentFragment()

        

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值