引用类型 Object类型 function a(num){ if(num>3){ a(--num); } console.log(num); } a(5); //如何创建对象的实例 var obj1= new Object(); console.log(obj1); obj1.name="吴琼"; obj1.age=28; console.log(obj1.name+" "+obj1.age); //对象字面量语法 ,有点封装的感觉 var obj2 = {…
<JavaScript高级程序设计>中介绍的几种JavaScript的引用类型,本文只记了Object跟Function类型 Object类型 创建对象 var person = new Object(); var person = {}; //二者效果是一样的,但使用对象字面量表示法定义对象时不会调用Object的构造函数 访问对象属性 点表示法 方括号表示法 person.name = ''; person['name'] = ''; // 方括号表示法能用变量来访问属性 var prop…
对象的三个属性 原型属性 1.var v={}的原型是Object.prototype;继承了一个constructor属性指代Object()构造函数,实际的原型是constructor.prototype 2.var v = new Person()的原型是构造函数Person()的prototype属性;继承了一个constructor属性指代构造函数Person(); 3.Object.create()创建的对象使用第一个参数(也可以是null)作为对象的原型;也继承了一个constru…
JavaScript由ECMAScript BOM DOM三部分组成 ECMAScript重要版本1,3,5,6,提供核心语言功能 DOM提供访问和操作网页内容的方法和接口 BOM提供与浏览器交互的的方法和接口 伴随一生的问题:浏览器兼容性 IE5支持ECMAScript1.IE5.5-IE7支持ECMAScript3.IE8不完全支持ECMAScript5.IE9+完全支持ECMAScript5 现在的5大浏览器对这3个部分的支持情况 : ECMAScript3 大体上都还不错,ECMAScr…
ECMAScript中的Object类跟Java中的Object类相似,ECMAScript中的全部类都由这个类继承而来,Object类中的全部属性和方法都会出如今其他类中,所以理解Object类,就能够更好的理解其他类. 对象的创建 JavaScript的对象是属性的容器,当中每一个属性都拥有名字和值. 属性的名字能够是包含空字符串在内的随意字符串.属性值能够是除undefined值之外的不论什么值. JavaScript里的对象是无类型的.它对新属性的名字和属性的值没有限制. 对象和适用于汇…
原文收录在我的 GitHub博客 (https://github.com/jawil/blog) ,喜欢的可以关注最新动态,大家一起多交流学习,共同进步,以学习者的身份写博客,记录点滴. 有些童鞋肯定有所疑惑,花了大量时间学习正则表达式,却发现没有用武之地,正则不就是验证个邮箱嘛,其他地方基本用不上,其实,大部分人都是这种感觉,所以有些人干脆不学,觉得又难又没多大用处.殊不知,想要成为编程大牛,正则表达式必须玩转,GitHub上优秀的开源库和框架里面到处都是强大的正则匹配,当年jQuery作者也…
一.客户端JavaScript主要是BOM DOM的操作和js脚本的兼容性.互用性.可访问性.安全性的应用.以及一些框架的引用. 二.BOM:浏览器对象模型 主要介绍window对象 1.定时器:setTimeout()    setInterval() 2.浏览器定位和导航:window.location 3.浏览历史:window.history 4.浏览器信息和屏幕信息  window.navigator和 window.screen 5.对话框: alert() confirm() pr…
数组是值得有序结合,每个值叫做一个元素,每个元素的位置称为索引,索引从0开始. 在JavaScript中,数组是对象的特殊形式.继承自Array.prototype中的属性,有丰富的数组操作方法. 通常数组的实现是经过优化的,用数字索引访问数组元素比访问常规的对象属性要快很多.足够稀疏的数组查找元素和常规对象属性的查找时间一样长. 首先:创建数组 var a1=[]; var a2=[1,2,3]; var a3=[1,"a",2,"b"]; var a4=[1,[…
<h3>ECMAScript中函数不存在函数签名的概念,没有重载</h3><h3>无需指定返回值,可以在任何时候返回任何值.未指定返回值的函数,返回的是一个特殊的undefined值</h3> <script type="text/javascript"> function sayHi(){ console.log("Hi"); }; sayHi(); function sayName(name,age){…
前面的话 javascript中的函数大多数情况下都是由用户主动调用触发的,除非是函数本身的实现不合理,否则一般不会遇到跟性能相关的问题.但在一些少数情况下,函数的触发不是由用户直接控制的.在这些场景下,函数有可能被非常频繁地调用,而造成大的性能问题.解决性能问题的处理办法就是函数节流和函数防抖.本文将详细介绍函数节流和函数防抖 常见场景 下面是函数被频繁调用的常见的几个场景 1.mousemove事件.如果要实现一个拖拽功能,需要一路监听 mousemove 事件,在回调中获取元素当前位置,然…