- 博客(23)
- 收藏
- 关注
转载 JS引用类型 -- Array类型
ECMAScript数组与其他语言中的数组都是数据的有序列表,但与其他语言不同的是,ECMAScript数组的每一项可以保存任何类型的数据。而且ECMAScript数组的大小是可以动态调整的,即可以随着数据的添加自动增长。创建数组的基本方式有两种:第一种是使用Array构造函数://1. 使用Array构造函数var colors = new Array();...
2016-09-12 17:16:00
97
转载 JS引用类型 -- Object类型
Object是ECMAScript中使用最多的一个类型,虽然Object的实例不具备多少功能,但对于在应用程序中存储和传输数据而言,它们是非常理想的选择。创建Object实例有两种方式:1.new操作符后跟Object构造函数var person = new Object();person.name = "Nicholas";person.age = 29;...
2016-09-07 17:28:00
105
转载 执行环境 及 作用域
1. 执行环境(execution context)定义了变量或函数有权访问的其他数据,决定了他们各自的行为。每个执行环境都有一个与之关联的变量对象(variable object),环境中定义的所有变量和函数都保存在这个对象中,虽然我们编写的代码无法访问这个对象,但解析器在处理数据时会在后台使用它。全局执行环境 是最外围的一个执行环境,程序退出时才会被销毁。每个函数都有自己...
2016-09-07 14:40:00
104
转载 基本类型 & 引用类型
ECMAScript变量有两种不同数据类型的值:基本类型值 和 引用类型值。基本类型值指的是简单的数据段,引用类型值指那些可能由多个值构成的对象。5种基本类型: Undefined、Null、Boolean、Number、String。这五种基本数据类型是按值访问的,因为可以操作保存在变量中的实际值。引用类型的值是保存在内存中的对象。JavaScript不允许直接访问内存中的位置...
2016-09-06 15:41:00
104
转载 JS基本概念 -- 操作符 -- 乘性操作符
ECMAScript定义了3个乘性操作符: 乘法、除法、求模。在操作数为非数值的情况下会先调用Number()函数执行自动的类型转换。乘法乘法操作符由一个星号( * )表示,用于计算两个数值的乘积。//1.如果两个操作数都是数值,执行常规的乘法计算var result = 23 * 2;alert(result); //46//2.如果两个操作数都是...
2016-09-05 09:11:00
162
转载 JS基本概念 -- 操作符 -- 布尔操作符
布尔操作符一共有三个: 非(Not)、与(AND)、或(OR)逻辑非逻辑非操作符由一个叹号(!)表示,可以应用于ECMAScript中的任何值。无论这个值是什么类型,这个操作符都会返回一个布尔值。逻辑非操作符首先将他的操作数转换为一个布尔值,再对其求反。//1.如果操作数是一个对象,返回falsevar o = { name: "ss"};alert...
2016-09-01 16:51:00
100
转载 JS基本概念 -- 操作符 -- 一元操作符
ECMA-262 描述了一组用于操作数据值的操作符,包括算术操作符(如加减)、位操作符、关系操作符、相等操作符。ECMAScript操作符能够适用于很多值,例如字符串、数字值、布尔值甚至对象。不过在应用于对象时,相应的操作符通常会调用对象的valueOf() toString()方法,以便取得可操作的值。1. 一元操作符只能操作一个值的操作符叫做一元操作符。递增和递减操作...
2016-09-01 14:26:00
83
转载 JS基本概念 -- 数据类型(二)
6.String 类型String类型用于表示由0个或多个16位Unicode字符组成的字符序列,即字符串。字符串可以有双引号("")或单引号('')表示。var firstName = "Nicholas";var lastName = 'Zakas';String数据类型包含一些特殊的字符字面量,也叫转义序列,用于表示非打印字符。这些字符字面量...
2016-08-30 17:13:00
84
转载 JS基本概念 -- 数据类型(一)
ECMAScript中有5种简单数据类型(也成为基本数据类型): Undefined、Null、Boolean、Number、String;1种复杂数据类型: Object,Object本质上是由一组无序的名值对组成的。ECMAScript不支持任何创建自定义类型的机制,所有值最终都将是上述6种数据类型之一。1.typeof操作符 typeof操作符用来检测给定变量的数据...
2016-08-30 10:59:00
77
转载 JS基本概念 -- 语法
ECMAScript 语法大量借鉴了C及其他类C语言。1.区分大小写 ECMAScript中的一切(变量、函数名和操作符)都区分大小写。这也就意味着,变量名test和变量名Test分别表示两个不同的变量。2.标识符 所谓标识符,就是指 变量、函数、属性的名字,或者函数的参数。标识符可以是按照下列格式规则组合起来的一或多个字符:第一个字符必须是一个字母、下划线(...
2016-08-26 09:52:00
71
转载 JavaScript简介
1.JavaScript实现一个完整的JavaScript实现应该由下列三个不同的部分组成:核心(ECMAScript)文档对象模型(DOM)浏览器对象模型(BOM)2.<script>元素<script>的6个属性:async: 可选,表示应该立即下载脚本,但不妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本。...
2016-08-25 14:58:00
62
转载 JS函数表达式 -- 私有变量
任何在函数中定义的变量,都可以认为是私有变量,因为不能在函数的外部访问这些变量。私有变量包括函数的参数、局部变量和在函数内部定义的其它函数。function add(num1, num2){ var sum = num1 + num2; return sum;}在这个函数中,有三个私有变量: num1、num2和sum。在函数内部可以访问这...
2016-08-24 16:13:00
218
转载 JS函数表达式 -- 模仿块级作用域
JavaScript没有块级作用域的概念。这意味着在语句中定义的变量,实际上是在包含函数中而非语句中创建的。1 function outputNumbers(count){2 for(var i=0; i<count; i++){3 alert("In: " + i);4 }5 var i;6 aler...
2016-08-22 16:58:00
85
转载 JS函数表达式 -- 闭包
闭包是指有权访问另一个函数作用域中变量的函数。 创建闭包的常见方式,就是在一个函数内部创建另一个函数。本质上讲,闭包就是讲函数内部和函数外部连接起来的一座桥梁。function a(){ var i = 0; function b(){ alert(++i); } return b;}var c = a();c...
2016-08-19 16:05:00
81
转载 JS函数表达式 -- 递归
递归函数: 函数通过名字调用自身function factorial(num){ if(num <= 1){ return 1; }else{ return num * factorial(num - 1); }}上述代码时一个经典的递归阶乘函数。当执行下面的代码时会出错:var anot...
2016-08-17 13:38:00
66
转载 JS定义函数的两种方式
定义函数的方式有两种:一种是函数声明;另一种是函数表达式1.函数声明函数声明的语法:function functionName(arg0, arg1, arg2){ //函数体} 关于函数声明, 它的一个重要的特征就是函数声明提升(function declaration hoisting), 意思是在执行代码之前会先读取函数声明。可以把函数声明放在...
2016-08-16 16:33:00
175
转载 JS继承 -- 寄生式继承 & 寄生组合式继承
5.寄生式继承与寄生构造函数和工厂模式类似,创建一个仅用于封装继承过程的函数,该函数在内部以某种方式来增强对象,最后返回对象。function createAnother(original){ var clone = Object.create(original); //通过调用函数创建一个新对象 clone.sayHi = function(){ ...
2016-08-15 17:34:00
187
转载 JS继承 -- 原型式继承
4. 原型式继承借助原型可基于已有的对象创建新对象。同时还不必因此创建自定义类型。function object(o){ function F(){} F.prototype = o; return new F();}在object()函数内部,先创建了一个临时性的构造函数,然后将传入的对象作为这个构造函数的原型。最后返回这个临时类型...
2016-08-15 15:27:00
67
转载 JS继承 -- 借用构造函数 & 组合式继承
2.借用构造函数为解决原型中包含引用类型值所带来的问题, 我们使用一种叫做 借用构造函数(constructor stealing)的技术(又叫伪造对象或经典继承)。这种技术的基本思想:在子类构造函数内部调用超类型构造函数。通过使用apply()和call()方法可以在新创建的子类对象上执行构造函数。function SuperType(){ this.co...
2016-08-15 09:44:00
98
转载 JS继承 -- 原型链
许多面向对象语言都支持两种继承: 接口继承和实现继承。ECMAScript只支持实现继承,而且实现继承主要是依靠原型链来实现的1.原型链基本思想是利用原型 让一个引用类型 继承 另一个引用类型的方法和属性。每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,每个实例都包含一个指向原型对象的内部指针。原型链的基本概念: 让原型对象等于另一个类型的实例。...
2016-08-11 09:48:00
96
转载 JS 创建对象的7种方法(三)
4. 组合使用构造函数模式和原型模式(Hybrid)构造函数模式用于定义实例属性原型模式用于定义方法和共享的属性。function People(name, age, job){ this.name = name; this.age = age; this.job = job; this.friends = ["Court", "A...
2016-08-09 14:54:00
141
转载 JS 创建对象的7种方法(二)
3.原型模式(Prototype)我们创建的每个函数都有一个prototype属性,这个属性是一个指针,指向一个对象。使用原型对象的好处是让所有实例共享它所包含的属性和方法。function Person(){}Person.prototype.name = "Bob";Person.prototype.age = 18;Person.prototype....
2016-08-09 13:58:00
74
转载 JS 创建对象的7种方法(一)
1.工厂模式(Factory) 1 function createPerson(name, age, title){ 2 var o = new Object(); 3 o.name = name; 4 o,age = age; 5 o.title = title; 6 o.sayName = function(){...
2016-08-08 18:03:00
92
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人