随笔分类 -  javascript

摘要:CommonJS规范来自《JavaScript 标准参考教程(alpha)》,by 阮一峰目录概述AMD规范与CommonJS规范的兼容性参考链接概述CommonJS是服务器端模块的规范,Node.js采用了这个规范。根据CommonJS规范,一个单独的文件就是一个模块。每一个模块都是一个单独的作用... 阅读全文
posted @ 2014-08-27 15:29 曹桦伟 阅读(364) 评论(0) 推荐(0)
摘要:by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=2148原文地址:Introducing ECMAScript 5.1翻译编辑:张鑫旭内容导读:简介浏览器支持ES5的严格模... 阅读全文
posted @ 2014-08-24 21:45 曹桦伟 阅读(988) 评论(0) 推荐(0)
摘要:ECMAScript5新增一系列新的方法(API接口),新的浏览器中大部分是被支持的(IE9,Chrome,FirFor),有少量API不是所有浏览器都支 持ES5通过对现有JavaScript方法添加语句和原生ECMAScript对象做合并实现标准化,IE9不支持严谨模式,但IE10是支持的。Ob... 阅读全文
posted @ 2014-08-24 21:23 曹桦伟 阅读(302) 评论(0) 推荐(0)
摘要:一般事件事件浏览器支持描述onClickIE3|N2|O3鼠标点击事件,多用在某个对象控制的范围内的鼠标点击onDblClickIE4|N4|O鼠标双击事件onMouseDownIE4|N4|O鼠标上的按钮被按下了onMouseUpIE4|N4|O鼠标按下后,松开时激发的事件onMouseOverI... 阅读全文
posted @ 2014-06-30 11:49 曹桦伟 阅读(212) 评论(0) 推荐(0)
摘要:var Car = (function () { var Car = function (model, year, miles) { this.model = model; this.year = year; this.miles = miles; }; return function (model, year, miles) { return new Car(model, year, miles); };})();var tom = new Car("Tom", 2009, 20000);如果还不理解的话,那我们... 阅读全文
posted @ 2014-03-17 16:42 曹桦伟 阅读(160) 评论(0) 推荐(0)
摘要:function getBeerById(id, callback) { // 使用ID来请求数据,然后返回数据. asyncRequest('GET', 'beer.uri?id=' + id, function (resp) { // callback调用 response callback(resp.responseText); });}var el = document.querySelector('#test');el.addEventListener('click', getBeerByIdBridge, false) 阅读全文
posted @ 2014-03-17 16:15 曹桦伟 阅读(140) 评论(0) 推荐(0)
摘要:在构造函数内部,this关键字引用的是新创建的对象。function Car(model, year, miles) { this.model = model; this.year = year; this.miles = miles; this.output= function () { return this.model + "走了" + this.miles + "公里"; };}var tom= new Car("大叔", 2009, 20000);有点小问题。首先是使用继承很麻烦了,其次output()在每次创建对象的时候都 阅读全文
posted @ 2014-03-17 15:50 曹桦伟 阅读(267) 评论(0) 推荐(0)
摘要:在JavaScript里,单例作为一个命名空间提供者,从全局命名空间里提供一个唯一的访问点来访问该对象。var mySingleton = { property1: "something", property2: "something else", method1: function () { console.log('hello world'); }};var mySingleton = function () { /* 这里声明私有变量和方法 */ var privateVariable = 'something privat 阅读全文
posted @ 2014-03-17 15:24 曹桦伟 阅读(155) 评论(0) 推荐(0)
摘要:1. window对象作为全局对象,也就是说你可以通过window来访问全局对象。属性在对象下面以变量的形式存放,在页面上创建的所有全局对象都会变成window对象的属性。方法在对象下面以函数的形式存放,因为左右的函数都存放在window对象下面,所以他们也可以称为方法。2. DOM为web文档创建带有层级的结果,这些层级是通过node节点组成,这里有几种DOM node类型,最重要的是Element, Text, Document。Element节点在页面里展示的是一个元素,所以如果你有段落元素(),你可以通过这个DOM节点来访问。Text节点在页面里展示的所有文本相关的元素,所以如果你的段 阅读全文
posted @ 2014-03-17 14:59 曹桦伟 阅读(391) 评论(0) 推荐(0)
摘要:myglobal = "hello"; // 不推荐写法console.log(myglobal); // "hello"console.log(window.myglobal); // "hello"console.log(window["myglobal"]); // "hello"console.log(this.myglobal); // "hello"全局变量的问题第三方的JavaScript库广告方的脚本代码第三方用户跟踪和分析脚本代码不同类型的小组件,标志和按钮 阅读全文
posted @ 2014-03-14 15:50 曹桦伟 阅读(221) 评论(0) 推荐(0)
摘要:框架涉及对浏览器的支 持、文档、扩展行、性能、编码风格。1.prototype入门级框架,对ie浏览器的版本判断很粗糙,糟糕的文档和扩展性2.jquery 简洁, 内部结构好开源,侧重逻辑 ,对DOM选择强大(其实,JS大多时候是在处理DOM),UI扩展好( Jquery tools和 Jquery UI)。面向对象方面较差,适用于中小型网站,无法承担庞大的网站架构任务。3.mootools 更符合面向对象,易扩展,但做低端不如jquery,做高端不如YUI。4.YUI 适用于门户,sns,大型电子商务和电子政务网站。yui抽象出了比其 他框架更复 杂的层次结构、把模块按照不同的层次划分,并定 阅读全文
posted @ 2014-03-13 15:47 曹桦伟 阅读(645) 评论(0) 推荐(0)
摘要:JavaScript 不包含传统的类继承模型,而是使用 prototypal 原型模型。方式1:var Calculator = function (decimalDigits, tax) { this.decimalDigits = decimalDigits; this.tax = tax; };Calculator.prototype = { add: function (x, y) { return x + y; }, subtrac... 阅读全文
posted @ 2014-03-13 14:38 曹桦伟 阅读(188) 评论(0) 推荐(0)
摘要:一、变量作用域 两种:全局变量和局部变量。注意,函数内部声明变量时,一定要使用var。如果不用的话,你实际上声明了一个全局变量!二、如何从外部读取局部变量? 链式作用域(chain scope)在函数的内部,再定义一个函数。 function f1(){ n=999; function f2(){ alert(n); } return f2; } var result=f1(); result(); // 999,f2函数,就是闭包。三、闭包的概念 闭包就是能够读取其他函数内部变量的函数。在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。官方定... 阅读全文
posted @ 2014-03-13 10:30 曹桦伟 阅读(204) 评论(0) 推荐(0)
摘要:(1) defer,只支持IE (2) async: async的定义和用法(是HTML5的属性) ;async 属性规定一旦脚本可用,则会异步执行。 注释:async 属性仅适用于外部脚本(只有在使用 src 属性时)。 注释:有多种执行外部脚本的方法: •如果 async="async":脚本相对于页面的其余部分异步地执行(当页面继续进行解析时,脚本将被执行) •如果不使用 async 且 defer="defer":脚本将在页面完成解析时执行 •如果既不使用 async 也不使用 defer:在浏览器继续解析页面之前,立即读取并执行脚本(3) 创建 阅读全文
posted @ 2014-03-10 16:56 曹桦伟 阅读(372) 评论(0) 推荐(0)
摘要:“test1 test2 ”test.innerHTML(所有浏览器支持): “test1 test2 ”test.outerHTML(所有浏览器支持): 除了包含innerHTML的全部内容外, 还包含对象标签本身。 上例中的text.outerHTML的值也就是test1 test2test.innerText(IE仅支持): 从起始位置到终止位置的内容, 但它去除Html标签 上例中的text.innerTest的值也就是“test1 test2”, 其中span标签去除了。test.textContent(除了IE都支持): 从起始位置到终止位置的内容, 但它去除Html... 阅读全文
posted @ 2014-03-10 16:41 曹桦伟 阅读(226) 评论(0) 推荐(0)
摘要:使用navigator.userAgent来判断浏览器类型。1、浏览器版本号函数:var br=navigator.userAgent.toLowerCase(); var browserVer=(br.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0, '0'])[1];2、js浏览器判断函数function userBrowser(){ var browserName=navigator.userAgent.toLowerCase(); if(/msie/i.test(browserName) && !/opera 阅读全文
posted @ 2014-03-10 16:30 曹桦伟 阅读(523) 评论(0) 推荐(0)
摘要:1, 判断字符串是否是这样组成的,第一个必须是字母,后面可以是字母、数字、下划线,总长度为5-20var reg = /^[a-zA-Z][a-zA-Z_0-9]{4,19}$/;reg.test("a1a__a1a__a1a__a1a__");2,截取字符串abcdefg的efgvar str = "abcdefg";if (/efg/.test(str)) { var efg = str.substr(str.indexOf("efg"), 3); alert(efg);}3,判断一个字符串中出现次数最多的字符,统计这个次数//将 阅读全文
posted @ 2014-03-10 16:28 曹桦伟 阅读(145) 评论(0) 推荐(0)