
JavaScript
genshang_2049
如果没有热爱,那么活在世界上的所有的痛苦都将变得无法忍受
展开
-
Primitive Types and Reference Types in Javascript
给出翻译原文地址不得不说,还是阅读国外的技术文章收获大,即使翻译的再好,原著和翻译版的之间的差距是不可消除的,就像水浒传英文版的名字是水边发生的故事一样,WTF!我们经常说变量是用来存储值的,但是这个值是什么值呢?我们先看看JavaScript中的数据类型,两种数据类型,一是基本类型,二是引用类型。Numbers, boolean , string,null and undefined 是基本类型,翻译 2017-02-28 16:13:12 · 931 阅读 · 0 评论 -
原型链图解
上一篇讲到了使用原型创建对象的两种方式,现在来讲一讲原型链原型链理解部分JS中的原型继承方式必然会引出一条原型链来把继承树上所有的对象串联起来。JS中的每一个对象都有一个原型(Obeject对象的原型为null)同样举例说明://定义Car()构造函数function Car(name){ this.name = name||"unknown name"; // 如果name原创 2017-04-25 10:24:24 · 758 阅读 · 0 评论 -
重写原型对象
重写整个原型对象会产生一些问题:没有重写原型对象时:function Person(name){ this.name = name;}Person.prototype.sayHi = function(){ alert("Hi");}console.log(Person.prototype);下面是打印的结果:重写整个原型时:function Person(name){原创 2017-05-15 23:26:21 · 573 阅读 · 0 评论 -
以原型构造新对象的两种方式
是时候要总结一下JS中的原型了,在看过一些资料之后,对JS原型有了较深入系统的了解,在这里写下来一方面是总结加深理解,另一方面是供给初学者参考。文本主要涉及使用原型构造对象,下面一篇文章讲原型链。 方法一:Object.create()Object.create(proto)即以proto对象为原型构造一个新对象 举例说明:// 创建landRover对象var landRover = {原创 2017-04-24 20:12:43 · 1443 阅读 · 0 评论 -
逻辑操作符
&& expr1 && expr2 如果 expr1可以转换成false,那么就返回 expr1,否则返回 expr2即如果 expr1如下,那就返回 expr1,否则就返回 expr2 - ""(空字符串) - 0,NaN - Null (空对象) - undefined当操作布尔值时,只有当 expr1 和expr2 都为true时,返回true否则返回false.**因为逻辑表原创 2017-04-13 16:00:07 · 360 阅读 · 0 评论 -
JS中的私有成员-01
JS中是没有私有成员的概念的,一个对象的所有的属性都是公有的,任何函数都可以访问,修改,删除这些属性或者是为对象添加新的属性(成员).主要有两种方式为一个新的对象添加成员,1.构造函数(通常用来实例化公有实例变量,其中this用来向新对象添加成员) function Person(name,age){ this.name = name; this.age = a原创 2017-05-11 11:33:44 · 584 阅读 · 0 评论 -
JS闭包-02
闭包的应用: 1.保存(变量)现场 ------------------------------------------------ var date = []; for(var i=0;i<5;i++){ date[i] = function(){ console.log("我的索引位置是: " + i); }原创 2017-04-29 16:52:02 · 380 阅读 · 0 评论 -
JS闭包-01
JS闭包总结 先上一段代码:---------------------------------------------------------function bar(){ var i = 0; return function(){ console.log(i++); }}var foo = bar();foo(); // 0foo(); //原创 2017-04-29 14:22:16 · 370 阅读 · 0 评论 -
图解JS词法环境(Lexical environment)
在ES5中使用lexical environment来管理静态作用域,而不再是ES3中的AO/VO词法环境就是描述环境的对象,主要包含两个部分: - 环境记录(Environment Record) 记录相应环境中的形参,函数声明,变量声明等 - 对外部环境的引用(out reference)代码示例 :var x = 10;function foo(y){ var z =原创 2017-04-29 09:41:32 · 6642 阅读 · 0 评论 -
什么是event handlers ?
直接的翻译就是:事件处理程序理解:事件发生,就会有一段JavaScript代码被执行。//基本语法://事件名 = "javascript代码"<a href="http://google.com" onClick="alert('welcome to Google')">Google</a>有人说 event handlers 就是一段JavaScript代码, 严格意义上来说,我并不这么认原创 2017-02-24 11:01:32 · 2817 阅读 · 0 评论 -
给事件处理函数添加 return false的作用是什么?
这是参考链接 事件处理函数返回的值决定了浏览器的默认行为是否会发生。 如果返回的值是false(默认情况是true),那么就取消浏览器原有的的默认行为, 是的,浏览器是有默认行为的,如:点击链接会触发导航右击鼠标会显示文本菜单……..举个很容易理解的例子:<a href = "https://www.baidu.com/" onclick = "return (confirm('确定转载 2017-02-24 09:59:32 · 2960 阅读 · 0 评论 -
事件冒泡和事件捕获
事件冒泡 其实事件冒泡的原理很简单: 当一个节点触发了一个事件,它会先执行它自身的事件处理程序(event handler),然后再执行其父节点上的事件处理程序(event handler),然后依次向上。。。直到document对象。举例:<div onclick="alert('冒泡到了div')"> <p onclick="alert('冒泡到了p')">翻译 2017-05-21 09:21:06 · 1005 阅读 · 0 评论