摘要: 可枚举属性 enumerable , for(p in obj)可配置属性 configurable , delete obj.attr自有属性 obj.hasOwnProperty(prop)keys(o) 返回对象可枚举的自有属性function keys(o){ //if(typeof o !=='object') return; if(typeof o !=='object') throw 'not an object'; var result=[]; for(var prop in o){ if(o.hasOwnProperty(pro 阅读全文
posted @ 2013-05-23 12:52 stephenykk 阅读(327) 评论(0) 推荐(0) 编辑
摘要: js中事件的定义方式有3种:标签内事件属性,dom元素事件属性 和 dom元素添加事件的方法。1.标签内事件属性://事件处理函数内this 指向事件源元素<div id="adiv" onclick="alert(event.type);">a div</div>标签内事件属性其实是一个匿名函数,在ie中等价于 $('adiv').onclick=function(){alert(event.type);} 在FF中 等价于 $('adiv').onclick=function(event){.. 阅读全文
posted @ 2013-05-22 14:35 stephenykk 阅读(4147) 评论(0) 推荐(0) 编辑
摘要: 前几天在写js时,试图把XML DOM直接append到页面的元素中,试验和实践表明这是不行的,虽然xml dom和html dom都支持core dom的一些方法,都是文档树的节点,本质上比较相像,但是其实他们不能互相append到对方里面,需要解析出里面的内容,再做添加。经过这个问题,发现XML基础有点淡忘了,故又重新复习了一下。xml主要用来传输数据,而非显示数据,xml的标签都是自定义的,xml具有自我描述性,xml独立于软硬件平台xml和html为不同的目的而设计xml树结构xml声明,xml根元素,xml元素(元素节点 属性节点 文本节点)xml语法规则xml标签都必须关闭xml标 阅读全文
posted @ 2013-05-21 14:06 stephenykk 阅读(247) 评论(0) 推荐(0) 编辑
摘要: JS中实现子字符串提取的函数有3个:slice substring substrstringObj.slice(start[,end]) //返回新的字符串 start end 支持负整数 表示从末尾开始的计算下标,最灵活,类似数组的slice函数stringObj.substring(start[,end]) //返回新字符串 start end只能是正整数stringObj.substr(start[,length]) //返回新字符串 start支持负整数 W3c不推荐的注意: substring,substr都不是骆驼命名法 而是看做一个单词 阅读全文
posted @ 2013-05-21 12:57 stephenykk 阅读(265) 评论(0) 推荐(0) 编辑
摘要: //----- 获得json数据的字符串格式 --------------- Object.prototype.toString=function(){ var rtn="{"; for(var i in this){ rtn+... 阅读全文
posted @ 2013-05-17 21:00 stephenykk 阅读(591) 评论(0) 推荐(0) 编辑
摘要: body元素是自适应高度的块级元素,当页面内容比较少时,它的高度会小于默认浏览器的可是区域高度;html元素的高度是默认等于浏览器视窗的高度的从文档结构上来说 body是html的子元素,按道理设置body{ height:100%;},可以让它和html元素高度相等,实际发现没没效果。需要设置 html,body{height:100%}才能让两者的高度相等测试代码如下:<!DOCTYPE html><html><head><style>html{height:100%; background:yellow;}body{height:100%; 阅读全文
posted @ 2013-05-03 14:24 stephenykk 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 建立正则表达式对象语法 re = new RegExp(/pattern/[flags]) flags 参数说明: g (全文查找出现的所有 pattern) i (忽略大小写) m (多行查找) 普通字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符 阅读全文
posted @ 2013-04-23 14:35 stephenykk 阅读(298) 评论(0) 推荐(0) 编辑
摘要: throw expression ,expression可以是任意类型 数字或错误信息的字符串等...function factoria(x){//如果输入的参数非法 则抛出一个异常if(x<0) throw new Error("x不能是负数"); //这里没有catch子句,将沿着词法结构向上查找 异常处理程序//参数合法 则计算出一个值并返回这个值for(var f=1;x>1;f*=x,x--) /*empty*/ ;return f;}当抛出异常时,js解释器会立即停止当前正在执行的的逻辑,并跳转到最近的异常处理程序try/catch/finally异 阅读全文
posted @ 2013-04-23 13:31 stephenykk 阅读(214) 评论(0) 推荐(0) 编辑
摘要: ~~ js中唯一可以使用标签的语句是 continue 和 break。任意的语句块都可以用标签标识 labelName:statement~~语句标签的命名空间和变量或函数的命名空间不同,即 标签名和变量名相同也是可以的 互不影响。例如: parser: while(token != null) { //Code omitted here } 通过给一个语句加标签,就可以给这个语句起一个名字,这样在程序的任何地方都可以使用这个名字来引用它,可以标记任何语句,但是被标记的语句通常是那些循环语句,即while、do/while、for和for/in语句,通常给循... 阅读全文
posted @ 2013-04-23 13:15 stephenykk 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 父类:父类的实例1,父类的实例2...子类:子类的实例1,子类的实例2...若在实例对象中找不到对应属性,则会在类的prototype属性中查找,这是类和实例之间实现公有属性方法的机制那么 子类和父类是怎么建立关联的呢?或者说原型链是怎么形成的,为什么子类的prototype中找不到对应属性会在父类的prototype中继续查找。以前以为 只要 subClass.prototype=supperClass.prototype;这样就能建立这样的原型链,实际上这是错的。首先对象的赋值只是引用的赋值 上面两者都指向同一个内存地址,只要随便通过1个途径就能修改该内存地址的对象,这样子类就无法单独扩展 阅读全文
posted @ 2013-04-18 12:41 stephenykk 阅读(972) 评论(0) 推荐(2) 编辑