代码如下:jQuery.fn = jQuery.prototype = { constructor: jQuery, init: function( selector, context, rootjQuery ) { }, selector: "", jquery: "1.7.2", length: 0, size: function() {}, toArray: function() {}, get: function( num ) {}, pushStack: function( elems, name, selector ) {}, each: function( callback, args ) {}, read...
全局作用域下 this; 当在全局作用域中使用 this,它指向全局对象。 这里详细介绍下全局对象: 全局对象(Global object) 是在进入任何执行上下文之前就已经创建了的对象; 这个对象只存在一份,它的属性在程序中任何地方都可以访问,全局对象的生命周期终止于程序退出那一刻。 全局对象初始创建阶段将 Math、String、Date、parseInt 作为自身属性,等属性初始化,同样也可以有额外创建的其它对象作为属性(其可以指向到全局对象自身)...
函数声明function foo() {}函数 foo 将会在整个程序执行前被 hoist (提升),因此它在定义 foo 函数的整个 scope (作用域)中都是可用的。即使在函数定义之前调用它也没问题。foo(); // Works because foo was created before this code runs function foo() {}因为我打算专门写篇介绍作用域的文章,所以这里就不详述了。 函数表达式 对于函数声明,函数的名称是必须的,而对于函数表达式而言则是可选的,因此,就出现了匿名函数表达...
Javascript 是唯一一个被广泛运用的原型式继承的语言,所以理解两种继承方式的差异是需要时间的。 第一个主要差异就是 Javascript 使用原型链来继承:function Foo() {this.value = 42; } Foo.prototype = {method: function() {} }; function Bar() {}设置 Bar 的 prototype 为 Foo 的对象实例:Bar.prototype = new Foo(); Bar.prototype.foo = 'Hello World';确保 Bar 的构造函数为本身,并新建一个 Bar 对象实例:Bar.prototyp...
先上范例:// Poisoning Object.prototype Object.prototype.bar = 1;var foo = {moo: 2}; for(var i in foo) {console.log(i); // prints both bar and moo }这里我们要注意两点,一是 for in 循环会忽略 enumerable 设置为 false 的属性。例如一个数组的 length 属性。第二是,由于 for in 会遍历整个原型链,所以当原型链过长时,会对性能造成影响。enumerable 是个很陌生的词汇,实际上,你很难在 javascript 中发现它的影子,...
false.toString(); // 'false' [1, 2, 3].toString(); // '1,2,3'function Foo(){} Foo.bar = 1; Foo.bar; // 1一个经常容易被误解的就是数字常量不能视为对象,实际上数字常量仍然可以视为对象。这是因为 Javascript 解析器在解析点操作符时而将其视为浮点数特征而犯下的错误。 2.toString(); // raises SyntaxError 实际上,我们有很多方法可以使得数字常量表现为一个对象。2..toString(); // the second point is correctly rec...
// Poisoning Object.prototype Object.prototype.bar = 1; var foo = {goo: undefined};foo.bar; // 1 'bar' in foo; // truefoo.hasOwnProperty('bar'); // false foo.hasOwnProperty('goo'); // true在这里,只有 hasOwnProperty 能给出正确答案,这在遍历一个对象的属性时是非常必要的。Javascript 中没有其他方法能判断一个属性是定义在对象本身还是继承自原型链。 hasOwnProperty 作为属性 Javascript 并未将 hasOwnProperty...
Node提供丰富的网络编程模块Node模块协议netTCPdgramUDPhttpHTTPhttpsHTTPSTCP服务事件分为下面两类 (1)、服务器事件 对于通过net.createServer()创建的服务器而言,它是一个EventEmitter实例,自定义事件有以下几种: listening :在调用listen()绑定端口或Domain Socket后触发,简写为server.listen(port, listener),通过第二个参数传入。 connection :每个客户端套接字连接到 服务器 时触发,简洁写法为通过net.createServer(...
回调函数是什么在学习之前还真不知道js回调函数怎么使用及作用了,下面本文章把我在学习回调函数例子给各位同学介绍一下吧,有需了解的同学不防进入参考。 回调函数原理: 我现在出发,到了通知你” 这是一个异步的流程,“我出发”这个过程中(函数执行),“你”可以去做任何事,“到了”(函数执行完毕)“通知你”(回调)进行之后的流程 例子 1.基本方法function doSomething(callback) { // … // Call the callback callba...
先看MDN中对于call的解释 call() 方法在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法. 注:该方法的作用和 apply() 方法类似,只有一个区别,就是call()方法接受的是若干个参数的列表,而apply()方法接受的是一个包含多个参数的数组。 语法fun.call(thisArg[, arg1[, arg2[, ...]]]) 参数 thisArg 在fun函数运行时指定的this值。需要注意的是,指定的this值并不一定是该函数执行时真正的this值,如果这个函...
私有变量和函数 在函数内部定义的变量和函数,如果不对外提供接口,外部是无法访问到的,也就是该函数的私有的变量和函数。代码如下: function Test(){var color = "blue";//私有变量var fn = function() //私有函数{}}这样在函数对象Test外部无法访问变量color和fn,他们就变成私有的了:代码如下: var obj = new Test();alert(obj.color);//弹出 undefinedalert(obj.fn);//同上静态变量和函数 当定义一个函数后通过点号 “.”为其...
基本概念 正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。 首先推荐几个正则表达式编辑器Debuggex :https://www.debuggex.com/PyRegex:http://www.pyregex.com/Regexper:http://www.regexper.com/ 正则表达式是一种查找以及字符串替换操作。正则表达式在文本编辑器中广泛使用,比如正则表达式被用于: [copy]检查文本中是否含...
基本概念 javascript是一门解释型的语言,浏览器充当解释器。 js执行引擎并不是一行一行的执行,而是一段一段的分析执行。 延迟脚本 HTML4.0.1中定义了defer属性,它的用途是表明脚本在执行时不会影响页面的构造。也就是说,脚本会延迟到整个页面都解析完毕后再执行。因此,在元素中设置defer属性,相当于告诉浏览器立即下载,但延迟执行。在XHTML文档中,要把defer属性设置为defer=“defer" 异步脚本 html5为定义了async属性。整...
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。 Jscript 支持两种函数:一类是语言内部的函数(如eval() ),另一类是自己创建的。 在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。 您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。 函数的调用方式 1、普通调用:functionName(实际参数...) 2、通过...
Ajax及其工作原理 AJAX 是一种与服务器交换数据无需刷新网页的技术,最早由Google公司在谷歌地图里使用,并迅速风靡。 AJAX是不能跨域的,如需跨域,可以使用document.domain=a.com;或者使用服务器代理,代理XMLHttpRequest文件 AJAX是基于现有的Internet标准,并且联合使用它们: XMLHttpRequest 对象 (异步的与服务器交换数据) JavaScript/DOM (信息显示/交互) CSS (给数据定义样式) XML (作为转换数据的格式)创建 XMLHttpReque...