JavaScript
前端小bai
这个作者很懒,什么都没留下…
展开
-
JavaScript之预编译
JavaScript运行三部曲: 语法分析 预编译 解释执行 预编译前奏 :1、imply global(暗示全局变量)如果任何变量未经声明就赋值使用,此变量就会成为全局对象window所有,并成为window对象的一个属性2、一切声明的全局变量,都是window的属性eg、var a = 123 ===> window.a = 123预编译四部曲 创建AO(Activation Object)对象原创 2017-04-29 16:43:12 · 563 阅读 · 0 评论 -
JavaScript之兼容性事件的绑定和解除
以点击事件为例,看一下事件的绑定。绑定事件1.句柄方式div.onclick = function (e) { console.log('click'); }事件可以持续监听,并不是执行完一次就失效,因此这个事件监听部分并不属于js引擎,因为js引擎是单线程的,事件监听属于内核的其他模块部分。 句柄方式的兼容性很好,但是一个元素的一种事件只能绑定一个函数。2.ele.addEventL原创 2017-07-31 00:43:47 · 653 阅读 · 0 评论 -
JavaScript之类型转换
在说类型转换之前,先说两个个小的知识点1、在JavaScript中所有的数据都可以转换成true或者false。这里有六个值是默认为false的。 undefined null 0 false ” NaN 2、操作符typeof可以检测数据的类型,其返回值一共有六种:boolean, object, string, number, undefined, function数组和null类型的都属于ob原创 2017-04-27 14:41:12 · 368 阅读 · 0 评论 -
JavaScript简介与基本语法
JavaScript要知道的是JavaScript与Java并没有一点的关系,只不过是名字有点相似而已,这是两种不同的编程语言。JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能Ja原创 2017-04-26 23:11:41 · 825 阅读 · 0 评论 -
JavaScript之克隆与数组
数组 数组的声明 1、字面量方式 var arr = [];2、数组构造函数 var arr = new Array(1,2,3,4); console.log(arr); // 1,2,3,4 注:如果在构造函数里只写一个数值,如new Array(5);这时这一个值就代表数组的长度。 数组的读写 不可溢出读,但是可以溢出写。var arr = [1,2]; console.log(arr[3])原创 2017-05-07 19:00:51 · 344 阅读 · 0 评论 -
JavaScript之闭包
闭包不同作用域之间不能够相互访问,但是我们如果在一个函数内部在定义一个函数,并且这个内部函数与外部函数的变量有关联,那么就可以通过返回这个内部函数,然后来返回外部函数里面的变量,所以闭包其实就是函数内部和函数外部的一个联系。 function a () { var demo1 = 123; add = function () {原创 2017-05-06 23:22:37 · 105 阅读 · 0 评论 -
JavaScript之函数与作用域
函数部分1、函数声明 var demo = function (){} 函数表达式 function demo () {} 函数声明 var demo = function () {} 命名函数表达式 以上就是三种函数声明的方式。2、argument和return 每一个函数里面都有一个类数组属性argument,这个属性里面存的就是实参,arguments[0]就可以查看我们传递的第一个实参了原创 2017-05-06 22:42:11 · 389 阅读 · 0 评论 -
JavaScript之继承、this问题和对象枚举
继承1、原型链式的继承这种继承有一个缺点就是它会继承过多没有用的属性,造成大量浪费.2、借用构造函数但是这种方式有两个缺点: 严格说,这种方式不属于继承,也访问不了原型的原型 每次构造一个对象都要走两个构造函数,效率很低 3、共享原型 Son.prototype = Foo.prototype;但是这种方法也有弊端,那就是如果向单独改变子类原型上的属性时,就会两个一起都改变了。4、圣杯模式原创 2017-05-04 12:18:35 · 422 阅读 · 0 评论 -
JavaScript之原型
原型1、定义 原型是JavaScript中的一个重要的概念,原型是function对象的一个属性,它定义了构造函数制造出的对象的公共祖先。通过该构造函数产生的对象,可以继承该原型的属性和方法。原型也是对象定义中提到,通过该构造函数产生的对象,可以继承该原型的属性和方法: Person.prototype.name = 'zhangsan'; Perso原创 2017-05-03 22:34:17 · 103 阅读 · 0 评论 -
JavaScript之对象、构造函数、包装类
创建对象的方法 对象字面量 构造函数 Object.create() 对象字面量:var obj = {}; //对象中的属性之间用逗号分隔构造函数: 系统自带的构造函数 var obj = new Object(); //系统自带的构造函数有很多,如Number(),String(),Boolean(),Array() 自定义的构造函数 其中自定义的构造函数也是正常的函数,为了区分他和正常的函数,原创 2017-05-03 18:25:33 · 897 阅读 · 0 评论 -
高性能JavaScript 重绘与重排
本篇介绍一下JavaScript DOM可能是最耗时间的重绘和重排问题。浏览器下载完页面中的所有组件——HTML标记,JavaScript,CSS,图片之后会解析并生成两个内部数据结构:DOM树 、渲染树。 重排:当DOM元素的变化影响了元素的几何属性(宽、高等)——比如改变边框宽度或给段落增加文字,导致行数增加,浏览器需要重新计算元素的几何属性,同样其他元素的几何属性也会受到影响。浏览器会重新构造原创 2017-04-20 21:18:51 · 1446 阅读 · 0 评论 -
JavaScript之发布-订阅模式
现实生活中的发布-订阅模式不论是在程序世界里还是现实生活中,发布—订阅模式的应用都非常广泛。我们先看一下现实中的例子。 小明最近看上了一套房子,到了售楼处之后才被告知,该楼盘的房子早已售罄。好在售楼MM告诉小明,不久后还有一些尾盘推出。开发商正在办理相关手续,手续办好后便可以购买。但到底是什么时候,目前还没有人能够知道。 于是小明记下了售楼处的电话,以后每天都会打电话过去询问是不是已经到了购买时原创 2017-08-13 13:11:50 · 1631 阅读 · 0 评论