JS定义函数
摘要:一、定义函数的方法 (1)函数声明 (2)函数表达式 二、函数声明方法定义函数 (1)FireFox、Safari、Chrome和Opera都给函数定义了一个非标准的name属性,通过这个属性可以访问到给函数指定的名字 (2)关于函数声明,它的一个重要的特征就是函数声明提升,意思是在执行代码之前会先
阅读全文
JS创建对象之稳妥构造函数模式
摘要:所谓稳妥对象,指的是没有公共属性,而且其方法也不引用this的对象 在以这种模式创建的对象中,除了使用sayName()方法之外,没有其他办法访问name的值;可以像下面使用稳妥的Person构造函数 var friend = Person("Mary", 18, "Software Enginee
阅读全文
JS创建对象之动态原型模式
摘要:动态原型模式把所有信息都封装在了构造函数中,而通过在构造函数中初始化原型(仅在必要的情况下),又保持了 同时使用构造函数和原型的优点;换句话说,可以通过检查某个应该存在的方法是否有效,来决定是否需要初始化原型
阅读全文
JS创建对象之组合使用构造函数模式和原型模式
摘要:注:js中 == 和 区别 简单来说: == 代表相同, 代表严格相同, 为啥这么说呢 这么理解:(1)当进行 == 比较时,先检查两个操作数数据类型,如果相同, 则进行 比较,否则进行一次类型转换再进行比较; (2)而 比较时, 如果类型不同,直接就是false. 比较过程: (1)双等号==:
阅读全文
JS创建对象之原型模式
摘要:一、原型对象 只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,这个属性指向函数的原型对象;在默认情况下,所有原型对象都会 自动获得一个constructor(构造函数)属性,这个属性是一个指向prototype属性所在函数的指针 二、使用原型对象可以让所有对象实例
阅读全文
JS创建对象之构造函数模式
摘要:function Person(name, age, job) { this.name = name; this.age = age; this.job = job; this.sayName = function() { alert(this.name); }; } var person1 = n
阅读全文
JS创建对象之工厂模式
摘要:function createPerson(name, age, job) { var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = function() { alert(this.name); }; return o; } v...
阅读全文
JS面向对象的程序设计之理解对象
摘要:一、对象定义 (1)ECMAScript中没有类的概念,因此它的对象也与基于类的语言中的对象有所不同; (2)ECMA-262把对象定义为:“无序属性的集合,其属性可以包含基本值、对象或者函数” 二、创建对象的方法 (1)创建一个Object实列,然后再为它添加属性和方法 (2)用对象字面量创建对象
阅读全文
JS数据类型
摘要:一、数据类型 ECMAScript中有5种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和String;还有一种 复杂数据类型:Object;Object本质上是由一组无序的名值对组成 二、检测给定变量的数据类型 对一个值使用typeof操作可能返回下
阅读全文
JS严格模式
摘要:ECMAScript 5引入了严格模式的概念;严格模式是为JavaScript定义了一种不同的解析与执行模型;在严格模式下, ECMAScript 3中的一些确定的行为将得到处理,而且对某些不安全的操作也会抛出错误;要在整个脚本中启用严格模式, 可以在顶部添加如下代码: 在函数内部的上方包含这条编译
阅读全文
JS在Html中使用JavaScript
摘要:一、三种方式 1)<script>元素 2)外部文件 3)文档模式 二、<script>元素 是向HTML页面插入JavaScript的主要方法;HTML 4.01为<script>定义了下列6个属性; 1)async:可选;表示应该立即下载脚本,但不妨碍页面中的其他操作;只对外部脚本文件有效; 2
阅读全文
JS简史
摘要:一、产生背景 1)在JavaScript问世之前,必须把表单数据发送到服务器端才能确定用户是否没有填写某个必填域,是否输入了无效的值; 2)为完成简单的表单验证而频繁地与服务器交换数据只会加重用户的负担; 3)Netscape公司决定着手开发一种客户端语言,用来处理这种简单的验证 二、JavaScr
阅读全文