摘要:
下面九个console命令,可以帮助我们更方便地调试 常用的console命令,最常用的事console.log() console.dir()查看对象的属性和方法 console.trace()追踪函数的调用轨迹,需要知道某个函数是如何被调用的,在里面加入console.trance()就可以了 阅读全文
摘要:
一、事件流(捕获,冒泡) 事件流:指从页面中接收事件的顺序,有冒泡流和捕获流。 当页面中发生某种事件(比如鼠标点击,鼠标滑过等)时,毫无疑问子元素和父元素都会接收到该事件,可具体顺序是怎样的呢?冒泡和捕获则描述了两种不同的顺序。 DOM2级事件规定事件流包括三个阶段,如图: 假如我们点击一个div, 阅读全文
摘要:
JS高级程序设计(3rd)中对闭包的定义就是一句话,首先闭包是一个函数,怎样的函数呢?有权访问另一个函数作用域中的变量 的函数。而创建闭包的常见方式就是在一个函数的内部创建另一个函数,就是嵌套函数。 闭包会涉及到的点主要有 ① 作用域链(这个原理让我们明白内部嵌套的函数是能够访问外部父函数里定义的变 阅读全文
摘要:
正式说继承之前,有两个相关小点: JS只支持实现继承,即继承实际的方法,不支持接口继承(即继承方法的签名,但JS中函数没签名) 所有对象都继承了Object.prototype上的属性和方法。 说继承之前还要再说一下原型。原型之所以很重要,原因之一就是可以利用它来实现JavaScript的继承。重写 阅读全文
摘要:
var arr=[]; 传递一个参数的话,若是数值则是项数,其他类型则是一项的值; isArray()判断是否数组; 数组转字符串: 调用数组的toLocaleString(),toString(),valueOf()返回的是以逗号相隔的每一项的字符串形式,而join()则可以不用逗号分隔,join 阅读全文
摘要:
① 一元操作符(参与的只有一个变量) 前置递增递减(语句解析到递增/递减时值就被改变了) 后置递增递减(整个语句执行后值再改变) 递增递减也可用于字符串,布尔值,对象等,结果都将是数值; 前置递增递减(语句解析到递增/递减时值就被改变了) 后置递增递减(整个语句执行后值再改变) 递增递减也可用于字符 阅读全文
摘要:
JavaScript中数据类型有: 三种基本数据类型: 数值,字符串,布尔; 两种小数据类型:null,undefined; 还有一个种复杂的数据类型:对象; 检测数据类型可以用typeof操作符,注意typeof只是一个操作符;它会返回number,boolean ,string object , 阅读全文
摘要:
position的默认值,没有定位,元素在normal flow中; 相对于浏览器左上角定位; 相对定位元素,其位置根据其在normal flow中的位置来计算; 产生脱离正常流的元素,相对于第一个父级position值不为static的元素来定位,没有则相对于body 阅读全文
摘要:
在JavaScript中,this关键字是用来引用 调用该函数的 那个对象的。看几个栗子: 从上面的例子可以看出,this引用的是 调用该函数时“.”前面的那个对象(如 obj.funObj()、obj.aCopy() );如果没有通过“.”的方式而是直接调用,那么this引用的就是全局对象,换句话 阅读全文
摘要:
理解回调函数,首先要知道在JavaScript中,函数也是对象,它可以赋值给变量,也可以作为参数传递给另一个函数。比如: 这里定义了一个变量add,然后将一个匿名函数赋值给了这个变量; 接下来演示将函数作为参数传递给另一个函数,换句话说就是:将一个函数放在另一个函数(如 parent)的参数列表中, 阅读全文