上一页 1 ··· 8 9 10 11 12 13 下一页
摘要: chorme 扩展 小试 官方文档http://developer.chrome.com/extensions 非官方中文文档http://docs.lmk123.com/getstarted.html . 必备文件 manifest.json。 配置文件 用于配制你的扩展插件的一些必须项,例如 名字、版本、需要调用的api模块 等{ "manifest_version": 2, "name": "chrome插件测试", "version": "0.1", "background&q 阅读全文
posted @ 2013-09-02 10:54 月曜 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 前端开发的时候大量的操作dom会引起浏览器重绘(redraw)和重排(reflow) 。 在文档重新加载的时候,浏览器引擎会解析html来生成dom树,之后根据DOM元素的几何属性构建一棵用于渲染的树。渲染树的每个节点都有大小和边距等属性,类似于盒子模型(由于隐藏元素不需要显示,渲染树中并不包含DOM树中隐藏的元素)。当渲染树构建完成后,浏览器就可以将元素放置到正确的位置了,再根据渲染树节点的样式属性绘制出页面。由于浏览器的流布局,对渲染树的计算通常只需要遍历一次就可以完成。 重绘是一个元素外观的改变所触发的浏览器行为,例如改变visibility、outline、背景色等属性。浏览器会根.. 阅读全文
posted @ 2013-09-02 10:35 月曜 阅读(3025) 评论(0) 推荐(2) 编辑
摘要: Js执行过程 如果一个文档中存在多个代码段 步骤一:读入第一个代码段(js引擎并非一行一行执行,而是一段一段分析执行) 步骤二:做词法分析和语法分析,有错则报语法错误(比如括号不匹配等),并跳转到步骤5 步骤三:对【var】变量和【function】定义做“预解析“(永远不会报错的,因为只解析正确的声明) 步骤四:执行代码段 ,有错则报错(比如变量未定义) 步骤五:如果还有下一代码段,则读入下一代码段,重复步骤二 步骤六:结束通过步骤二 js会先生成一个语法分析树(SyntaxTree)语法分析树可以理解为 记录 变量集 作用域集 方法集的 数据库一样的东西。/*** ... 阅读全文
posted @ 2013-08-30 15:06 月曜 阅读(316) 评论(0) 推荐(0) 编辑
摘要: js触摸事件 应用在移动端 webkit内核都支持。 触摸事件apihttps://dvcs.w3.org/hg/webevents/raw-file/tip/touchevents.html 事件: 1.touchstart://手指放到屏幕上的时候触发2.touchmove://手指在屏幕上移动的时候触发3.touchend://手指从屏幕上拿起的时候触发4touchcancel:// 没测试过 。系统取消touch事件的时候触发。至于系统什么时候会取消,不详 ev.preventDefault(); //阻止默认事件 经常在写给某个dom对象加了touch时间以后 写了 ... 阅读全文
posted @ 2013-08-29 16:48 月曜 阅读(468) 评论(0) 推荐(0) 编辑
摘要: 听到同学说面试一道题目add(1)(2)(3)(4);//10查询了下资料 这是一个js里面的柯里化 现象 add_curry防范返回的是一个 retVal,并不是执行结果。这里的代码很想递归,但是不是这样。 每调用一次retVal 都会将参数传给他, 而之前的seed会一直保留(add_curry 营造了一个闭包,seed得以一直保存)。 1 function add_curry( seed ) { 2 3 console.log("a"+seed); 4 function retVal( later ) { 5 console.log("b"+s.. 阅读全文
posted @ 2013-08-26 17:03 月曜 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 主要是将 chrome调试工具 firebug的控制台对以下都有支持 consoleAPIhttps://developers.google.com/chrome-developer-tools/谷歌调试工具文档clear() //清空控制台信息console.trace() //跟踪函数的运行轨迹console.time() // 计算运行时间console.timeEnd() //运行结束console.group() // 分组 打印信息console.groupEnd() // 分组结束console.profile() //开始性能测试console.profileEnd()... 阅读全文
posted @ 2013-08-22 12:19 月曜 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 1.在全局范围内使用this的时候 它指向的是全局对象thisWindow {top: Window, window: Window, location: Location, external: Object, chrome: Object…}2.方法调用模式test.foo(); //这里调用会吧 this指向test对象3.函数调用alert(); //这里的this是 全局 //这里有些问题 一些对象内部的方法 直接调用会默认是全局对象上 。 //使用 var _this=this 可以解决这个问题4.构造器模式调用var Gzq = function(name){ t... 阅读全文
posted @ 2013-08-20 17:42 月曜 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 以前一直对js字面量模棱两可。'字面量是一种表示值的记法。'js字面量(literal) 分为以下几个 number literal 8 就是数字字面量 string literal 'hello' 字符串字面量 object literal {} 对象字面量 array literal [] 数组字面量 function function (){alert('aa');} 函数字面量 regexp literal // 正则字面量 阅读全文
posted @ 2013-08-20 11:27 月曜 阅读(1149) 评论(0) 推荐(0) 编辑
摘要: hasOwnProperty():判断对象是否有某个特定的属性。必须用字符串指定该属性。(例如,o.hasOwnProperty("name")) //复制自w3cschoolIsPrototypeOf(): 判断该对象是否为另一个对象的原型。不过hasOwnProperty 可以被赋值 ,这是不保险的。所以不能完全信任 hasOwnProperty 检测结果。function Person(name,color){ this.name=name; this.color=color;}Person.prototype.sayName=function(){ alert(th 阅读全文
posted @ 2013-08-19 18:17 月曜 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 很久之前面试遇到过一个题。写个颜色转换的方法。 function RGB2Color(r,g,b) { return '#' + byte2Hex(r) + byte2Hex(g) + byte2Hex(b); } function byte2Hex(n) { var nybHexString = "0123456789ABCDEF"; return String(nybHexString.substr((n >> 4) & 0x0F,1)) + nybHexString.... 阅读全文
posted @ 2013-08-19 16:44 月曜 阅读(324) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 下一页