本文是一篇原理推測的文章,假设有不准确的地方请指正, 原文:http://blog.csdn.net/softmanfly/article/details/34833931 JavaScript中构造函数与普通函数事实上没有什么区别,构造函数能够当做普通函数来使用,普通函数也能够用new来模拟构造函数的调用.然而使普通函数与构造函数发生区别的事实上就在于new操作符的内部原理.以下是我通过測试推測的new操作符的运行过程,当你在用new操作符来生成一个对象时内部可能运行了以下几个步骤的操作: 以…
知识说明: 初学JavaScript,注意以下七大细节,在实现同样功能的情况下,让我们的代码更易懂.效率更高. 一.简化代码 例如:创建对象 之前是这样的: Var car = new object(); Car.color = “red”; Car.wheels = 4; Car.age = 8; 而现在可以写成这样子: Var car = {color:’red’, wheels:4, age:8} 例如:创建数组 之前是这样的: Var studentArray = new Array(‘…
bool sign2 = true; bool sign2 = true; void GameLayer::onTouchMoved(Touch *touch, Event *unused){ if(sign){ sign = false; ** if(sign2){ CCLOG("RUNNING!"); sign2 = false; sign = true; }else{ sign2 = true; } ** } } 假设上述代码顺序执行,则会出现无限循环的RUNNING的LOG:…
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-检測表单数据</title> <style> [role="alert"]{ background-color: #f…
匿名函数就是没有函数名的函数.这篇文章主要介绍了Javascript自执行匿名函数(function() { })()的原理浅析的相关资料,需要的朋友可以参考下 函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途.匿名函数指没有指定函数名或指针的函数,自执行匿名函数只是其中一种,下文中称这种函数为:自执行函数 下面是一个最常见的自执行函数: // 传统匿名函数 (function() { alert('hello'); })();   这段代码的执行效果就是在页面再载入时…
在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法. ? 1 2 var arr = []; console.log(Object.prototype.toString.call(arr)) //"[object Array]" 本文要讲的就是,toString方法是如何做到这一点的,原理是什么. ECMAScript 3 在ES3中,Object.prototype.toString方法的规范如下:…
原文:http://charlee.li/javascript-variables-and-delete-operator.html 刚刚看到一篇好文(原文链接), 对Javascript中的delete操作符分析得很透彻.在这里简单地介绍一下内容. 虽然是一个小小的delete操作符,其行为却异常复杂. # Javascript的变量 实际上Javascript中,变量 = 对象属性,这是因为 Javascript 在执行脚本之前 会创建一个Global对象,所有的全局变量都是这个Global…
JavaScript 有两种比较方式:严格比较运算符和转换类型比较运算符. 在相等运算符中对应 === .!==和 ==.!=. 先举个栗子 var str = '1' var num0 = 0 var num1 = 1 var blT = true var blF = false var nul = null var und = undefined console.log(str == num1) // true console.log(str == blT) // true console.…
在学习知识的路上,我们须要的不断的去接触新的知识,同一时候我们也不要不停地对自己旧的知识进行总结.近期通过<牛腩Javascript>和姜昊的<Javascript专题视频>对Javascript有了初步的理论了解. Javascript学习简单介绍 因为Javascript是一种基于对象和事件驱动并具有相对安全性的client脚本语言.因此在学习Javascript时须要具备一定的对象对象基础,因为已经学习过C#和VB.NET因此在学习的过程中理解起来还是相对easy的. 同一时…
javascript中递增递减属于一元操作符,所谓一元操作符,即只能操作一个值的操作符. 递增和递减操作符各有两个版本:前置型和后置型.顾名思义,前置型应该位于要操作的变量之前,而后置型应该位于要操作的变量之后. 01.前置型操作符使用: var age=29; ++age; 等同于 var age=29; age=age+1; 执行前置递增和递减操作时,变量的值都是在语句被求值以前改变的. var num1=2; var num2=20; var num3=--num1+num2; //等于2…
JS中的delete操作符不是太常用,容易被忽略,它的作用很简单,用来删除对象的属性或方法. <script type="text/javascript"> var person = {}; person.name = "Jane"; person.getName = function() { return this.name; } alert(typeof person);//object alert(person.name);//Jane alert…
在本文中,将简述JavaScript类型系统和数据类型,以及如何使用typeof操作符执行类型检查. 还讲解了使用typeof操作符进行某些数据类型检查是不完善的,并介绍其他几种类型检查的方法. 更多内容欢迎关注GitHub 每种编程语言都有自己的类型系统和数据类型,但各种编程语言的数据结构常有不同之处.使用JavaScript时,其引擎会在脚本执行期间隐式强制转换执行值的类型.类型检查对于编写可预测的JavaScript程序是非常有必要的. JavaScript中的typeof操作符就是用于基…
JS输出: JavaScript没有任何打印或者输出的函数,但是可以用不同的方式输出数据 window.alert():弹出警告框 document.write():写入文档 innerHTML:写入到HTML元素 console.log:写入到浏览器控制台 JS字面量: 数字字面量:可以是整数.小数或者科学技术(e) 字符串字面量:可以使用单引号或双引号 表达式字面量:用于计算 数组字面量:定义一个数组 对象字面量:定义一个对象 函数字面量:定义一个函数 JavaScript变量: 使用关键字…
什么是 JavaScript? JavaScript 被设计用来向 HTML 页面添加交互行为. JavaScript 是一种脚本语言(脚本语言是一种轻量级的编程语言). JavaScript 由数行可执行计算机代码组成. JavaScript 通常被直接嵌入 HTML 页面. JavaScript 是一种解释性语言(就是说,代码执行不进行预编译). 所有的人无需购买许可证均可使用 JavaScript. Java 和 JavaScript 是相同的吗? 不同! 在概念和设计方面,Java 和…
javaScript是世界上最流行的脚本语言   在我们的手机.电脑设备上所浏览的所有网页,以及基于HTML5手机App的交互都是通过javaScript驱动的,所以javascript是前端工作的一大重点.javaScript是浏览器上的解释型编程语言 我之前在学校接触过javaScript方面的编程教程  ,当时年少不懂事,没有认真的去学,现在毕业抓紧时间学习啦一点,亡羊补牢.现在学习JavaScript 因为太菜,总之从事前端工作 你必须得通javascript.至于 javascript…
1.1.缩略标记 //定义对象 //var car = new Object(); //car.colour = 'red'; //car.wheels = 4; //car.hubcaps = 'spinning'; //car.age = 4; //上述代码的简洁写法: var car = { colour: 'red', wheels: , hubcaps: 'spinning', age: } //定义数组 var testArr = new Array('str1', 'str2',…
一.JavaScript介绍 1.JavaScript:轻量级的客户端脚本语音 2.目前js已经不仅仅是客户语音,基于NODE可以做服务器端程序,所以Javascript是全栈编程语音 3.js及部分组成 ECMAScript (ES):js的核心语法 DOM:docment object model 文档对象模型,提供各种api(属性和方法)让js可以获取或操作页面中的HTML元素(DOM和元素) BOM:browser object model 浏览器对象模型,提供各种api让js可以操作浏…
今天第一天学javascript,做了个简易的四则运算,提供参考,效果图: html代码: <!DOCTYPE html> <html > <head > <meta charset="UTF-8"> <link rel="stylesheet" type = "text/css" href = "css/1.css"> <title>index</…
JavaScript的对象属性 整理自慕课网教学 点此进入…
JavaScript正则贪婪模式与非贪婪模式 贪婪模式: 例: \d{3,6} 匹配数字3到6次(正则表达式默认为贪婪模式,即匹配最多次,失败即停) '12345678'.replace(/\d{3,6}/g,'X') X78 非贪婪模式:            让正则表达式尽可能少的匹配,也就是说一旦成功匹配就不再尝试,只需要在量词后面加上'?' \d{3,6} '12345678'.replace(/\d{3,6}?/g,'X') XX78 匹配成功两次,每次均为3个数字 整理自慕课网教学 …
JavaScript预定义类 ab+数字+任意字符 ab[0-9][^\r\n] 等价于 ab\d. '@123@abc@'.replace(/@./g,'Q') Q23Qbc@ 将"@加任意字符"替换为"Q" '@123@abc@'.replace(/^@./g,'Q') Q23@abc@ 将"以@加任意字符开头的"替换为"Q" '@123@abc@'.replace(/.@$/g,'Q') @123@abQ 将"…
<!--下面是源代码--> <!DOCTYPE html> <html> <head> <meta charset = "utf-8"> </head> <!--<script type = "text/javascript" src = "test.js"> --> <!-- </script> --> <script&…
javascript中的new是一个语法糖,对于学过c++,java 和c#等面向对象语言的人来说,以为js里面是有类和对象的区别的,实现上js并没有类,一切皆对象,比java还来的彻底 new的过程实际上是创建一个新对象,把新象的原型设置为构造器函数的原型,在使用new的过程中,一共有3个对象参与了协作,构造器函数是第一个对象,原型对象是二个,新生成了一个空对象是第三个对象,最终返回的是一个空对象,但这个空对象不是真空的,而是已经含有原型的引用(__proto__) 步骤如下: (1)    …
1.一元操作符 (1)递增和递减操作符 只能操作一个值的操作符叫一元操作符. var age = 29; ++age; var age = 29; --age; var age = 29; var anotherAge = --age + 2; alert(age); // 输出28 alert(anotherAge); // 输出30 var num1 = 2; var num2 = 20; var num3 = --num1 + num2; // 等于21 var num4 = num1 +…
JS中两种不常使用但挺实用的操作符:??和?. 一起来了解并学会使用它们吧: 空值合并操作符:?? 只有当操作符左侧为null或undefined时才会返回操作符右侧的值,否则返回左侧的值. eg: null ?? 'hello';// hello undefined ?? 'hello';// hello false ?? 'hello';// false null ?? undefined;// undefined null ?? undefined ?? 123;// 123 可以用于程序…
首先请大家思考这么一段代码,如下: <script>var jquery=function(){     console.log(this);};jquery();new jquery();</script> 大家思考一下,结果是什么?执行这两句的this各自代表什么对象,是否相同? 先公布下测试结果,如下图 Window代表的是浏览器window对象. j1代表的是通过构造函数jquery构造的一个对象. 是不是跟大家想的结果不一样呢? 一开始我推断出的结果也不正确,原本以为js…
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <title></title> </head> <body> <div class="box" id="box"></div> <ul id="resources…
<script> var p=new Object(); //属性 p.width=; p.height=; p.num=; p.autotime=; //方法 p.autoplay=function(){ alert("play...."); } p.test=function(){ } alert(p.width); p.autoplay(); </script> var test = { alr:function(){ var Oul = document…
<script>var iNum = 0;outermost:for (var i=0; i<3; i++) {   for (var j=0; j<3; j++) {       if (i == 1 && j == 0) {                   break outermost;@       }       iNum++;   }}alert(iNum);</script> 若@处为break outermost:则输出结果为3,即跳…
对于刚开始学习js的同学,强烈推荐直接使用chrome developer mode,超级方便. 随便打开一个网页,开启开发者模式即可写js代码,不用新建html和js文件即可看到自己写的js代码的结果 如下: 甚至连console.log();都可以不用就能看到输出结果,是不是很方便. 开启开发者模式的方式:随便打开一个页面,空白处鼠标右键——>点击“检查”——>点击Console, 然后就可以在面板上开始愉快的编写你的js代码啦…