简介:javascript是一门函数式的面向对象编程语言
javascript是由对象和简单类型组成。
1、简单类型:数字、字符串、布尔值、null值和undefined值
2、对象:对象是可变的键控集合,在javascript中,数组、函数、正则表达式都是对象,对象是属性的容器,其中每个属性都拥有名字和值,属性的名字可以是包括空字符串在内的任意字符串,属性值可以是除了undefined值外的任何东西。对象是无类别的。javascript包括一个原型链特性,允许对象继承另一个对象的属性,正确地使用它能减少对象初始化的时间和内存消耗。
1)对象字面量:提供了非常方便地创建新对象值的表示法。一个对象字面量就是包含在花括号内的键值对,可以出现在任何允许表达式出现的地方。属性的值可以从包括另一个对象字面量在内的任意表达式中获得
2)检索
检索对象中包含的值,可以在[]后缀中括住一个字符串的方式或者.表示法,优先考虑后者
若尝试检索一个不存在的成员元素的值,会返回一个undefined值;
||运算符可以用来填充默认值:
var middle = stooge["middle-name"]||"(none)";
var status= stooge.status||"unknown";
尝试检索一个undefined值将会导致TypeError异常,可以通过&&运算符来避免错误,
flight.equipment //undefined
flight.equipment.model //throw TypeError
flight.equipment&&flight.equipment.model //undefined
3)更新
4)引用:对象通过引用传递,它们永远都不会被拷贝
3、原型Prototype
4、反射Reflection
typeof
hasOwnProperty不会检查原型链
5、枚举
for in语句可以用来遍历对象中所有属性名,包括函数和不关心的原型中的属性,可以通过hasOwnProperty和typeof过滤掉不需要的属性和函数。
6、删除
delete运算符用来删除对象的属性,它会移除对象中确定包含的属性,不会触及原型链中的任何对象。删除对象的属性可能会让来自原型链中的属性浮现出来。
7、减少全局变量的污染
最小化使用全局变量的一个方法是在你的应用中只创建唯一一个全局变量var MYAPP = {};该变量此时变成了你的应用的容器:只要把多个全局变量都整理在一个名称空间下,将显著降低与其它应用程序、组件或类库之间相互影响的可能性。
MYAPP.stooge = {
"first-name":"Joe",//必须用引号括住属性名
"last-name":"Howard"
}
MYAPP.flight={
airline:"Oceanic",
number:815,
departure:{
IATA:"SYD",
time:"2004-09-22 14:55",
city:"Sydney"
},
arrival:{
IATA:"LAX",
time:"2004-09-23 10:55",
city:"Los Angeles"
}
};
8、函数对象
对象字面量产生的对象连接到Object.prototype,函数对象连接到Function.prototype。每个函数创建时附有两个附加的隐藏属性,函数的上下文和实现函数行为的代码。函数可以存放在变量、对象和数组中。函数可以被当作参数传递给其他函数,也可以返回函数。
9、函数字面量,可以出现在任何允许表达式出现的地方。
函数对象可以通过函数字面量创建,例如
var add = function(a,b){return a+b;}
函数字面量包括四部分:
1)保留字 function
2)函数名(可以没有,匿名函数)
3)参数:参数被定义为函数中的变量,它们不像不通变量被初始化为undefined,而是在该函数被调用时初始化为实际提供的参数值
4)包围在花括号中的一组语句
5)闭包:通过函数字面量创建的函数对象包含一个连接到外部上下文的连接,这被称为闭包
9、调用
调用函数时除了声明时定义的形式参数,每个函数接收两个附加的参数:this和arguments。当实际参数个数与形式参数的个数不匹配时不会导致运行时错误,若实际参数个数多,超出部分被省略,若实际参数个数少,缺失的参数值会被替换为undefined。
1)方法调用模式:当一个函数被保存为对象的一个属性时,称它为一个方法,调用方法时,this被绑定到该对象。
2)函数调用模式:当一个函数并非一个对象的属性时,例如: var sum = add(3,4);当在此模式调用时this被绑定为全局对象。这是语言设计上的一个失误,方法不能利用内部函数来帮助它工作,因为内部函数的this被绑定了错误的值
3)构造器调用模式:在一个函数前带上new来调用,那么将创建一个隐藏连接到该函数的prototype成员的新对象,同时this将会被绑定到那个新对象上。
4)Apply调用模式
apply方法构建一个参数数组并用其去调用函数,允许我们选择this的值。apply方法包括两个参数,一个是this值,一个是参数数组。
10、参数
当函数被调用时,可以通过argements参数访问所有它被调用时传递给它的参数列表,包括那些没有被分配给函数声明时定义的形式参数的多余参数,这使的编写一个无须指定参数个数的函数成为可能。
11、返回:函数总是会返回一个值,如果没有指定返回值,则返回undefined。
12、异常
一个try语句只会有一个catch块,若需要处理异常的类型,那么在异常处理器必须检查异常对象的name属性以确定异常的类型
13、给类型增加方法
javascript允许给语言的基本类型增加方法,通过给Object、函数、数组、字符串、数字、正则表达式和布尔值的原型添加方法可以使该方法对本类型的值都可用。Object、函数、数组、字符串、数字、正则表达式和布尔值都是函数类型。
14、递归
15、全等号(===):不需要转型,等号是需要转型的。
16、闭包:可以访问函数被创建时所处的上下文环境。
作用域的好处是内部函数可以访问定义它们的外部函数的参数和变量(除了this和arguments)。并且内部函数拥有比它的外部函数更长的生命周期。
17、回调:将参数作为参数传递给函数
18、伪类:当一个函数对象被创建时,Function构造器产生的函数对象会运行类似下面的代码
this.prototype={constructor:this};
当采用构造器调用模式,即使用new前缀去调用一个函数时,这将修改函数执行的方式
分享到:
相关推荐
JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)...
《javascript基础教程(第8版)》循序渐进地讲述了javascript 及相关的css、dom、ajax、jquery 等技术。书中从javascript 语言基础开始,分别讨论了图像、框架、浏览器窗口、表单、正则表达式、用户事件和cookie,并...
本教程旨在为初学者提供一个全面的JavaScript基础知识学习平台,帮助理解并掌握这种强大的脚本语言。 《JavaScript基础教程》首先会介绍JavaScript的历史背景和基本语法,包括变量、数据类型、操作符、流程控制...
这个资源是javaScript基础语法的总结,适合学完javascript基础语法的进行巩固、复习! 这...我是想免费给大家看的,这怎么还收费
本文档是JavaScript基础教程的精简版,旨在以简洁的形式介绍JavaScript的基本概念和技术。 首先,我们从简介开始。JavaScript由网景公司的Brendan Eich在1995年发明,起初被命名为Mocha,后来改为LiveScript,最终...
总的来说,这个压缩包提供了一个全面的JavaScript基础知识教程,涵盖了数据类型、Object、内置对象和变量等核心概念,对于初学者或者需要巩固基础的开发者来说,是一份非常有价值的参考资料。通过学习这些内容,可以...
《JavaScript基础与案例开发详解》根据JavaScript在各种类型的应用开发中(如B2B、B2C、C2C)的使用情况,有针对性地安排了丰富的案例,从基本的表格操作、表单操作,到构建浏览器端的富文本编辑器,再到实现像Windows...
JavaScript 基础教程 JavaScript 是一种广泛应用于网页和网络应用的轻量级编程语言,它主要用于增强网页的交互性和动态功能。JavaScript 能够直接嵌入 HTML 页面中,为设计师提供了一种无需深入编程就能实现动态...
资源名称:Javascript基础与案例开发详解内容简介:《Java script基础与案例开发详解》根据Javascript在各种类型的应用开发中(如B2B、B2C、C2C)的使用情况,有针对性地安排了丰富的案例,从基本的...
二、JavaScript基础语法 1. 变量:JavaScript中的变量使用var、let或const关键字声明。var适用于全局或函数作用域,let和const则属于块级作用域。const声明的变量不可重新赋值,但其引用的对象属性仍可修改。 2. ...
javascript 基础 教程 入门 精通 javascript 基础 教程 入门 精通 javascript 基础 教程 入门 精通 javascript 基础 教程 入门 精通 javascript 基础 教程 入门 精通 javascript 基础 教程 入门 精通 javascript ...
JavaScript基础三天总结
本“JavaScript基础手册”旨在帮助初学者全面掌握JavaScript的核心概念和技术。 JavaScript语法基于ECMAScript规范,它包括变量、数据类型(如字符串、数字、布尔值、null、undefined、对象和数组)、运算符(算术...
这个"Javascript基础教程版"涵盖了JavaScript的核心概念,旨在为初学者提供一个清晰的学习路径。 在JavaScript的基础教程中,你将首先了解它的历史背景和应用领域,然后深入到语法层面。JavaScript语法基于...
这个名为"JavaScript基础大全 (1-4) 学习必备珍藏品"的资源显然是一个系列教程,包含了从初级到进阶的JavaScript基础知识。让我们深入探讨一下JavaScript的核心概念和技术。 1. **基础语法**:JavaScript是一种...
本资源“javascript基础视频80集11”包含了80个视频教程,覆盖了JavaScript的基础概念到高级特性,适合初学者进行系统学习。 在JavaScript的基础阶段,通常会涉及以下知识点: 1. **变量与数据类型**:JavaScript...
### JavaScript基础教程核心知识点概述 #### 一、JavaScript简介与特性 - **JavaScript的作用**:JavaScript主要用于增强网页的交互性和动态效果,使网页能够实时响应用户的操作,提高用户体验。 - **减少HTML重复*...
本套“JavaScript基础视频80集8”将深入浅出地介绍这一语言的基础知识,帮助初学者建立坚实的编程基础。 视频内容可能涵盖以下几个方面: 1. **变量与数据类型**:JavaScript支持多种数据类型,包括基本类型(如...
本教程“JavaScript基础与实例教程”由中国电力出版社出版,旨在为初学者和有经验的开发者提供一个深入理解JavaScript核心概念和实践技巧的平台。 首先,JavaScript的核心概念包括变量、数据类型和操作符。变量是...