JAVASCRIPT
1. JavaScript的构成
ECMAScript核心
文档对象模型(DOM)
浏览器对象模型(BOM)
2. JavaScript的特点
- 松散性
- 对象属性
- 继承机制
3. JavaScript和Java的区别
相似 | 不同 |
---|---|
两者的语法都与C相似 | JavaScript 是动态类型语言,而 Java 是静态类型语言 |
两者都是面向对象语言,但实现方式不同 | JavaScript 是弱类型的,Java 属于强类型 |
JavaScript设计参照了Java的命名规则 | JavaScript 的面向对象是基于原型的(prototype-based)实现的,Java 是基于类(class-based)实现的 |
… | JavaScript 除了长得和 Java 比较像之外,语言风格相去甚远 |
- 来历不同,Java是由Sun 公司于1995年5月推出的,而JavaScript是于1995年由Netscape公司设计实现而成的,由于Netscape公司与Sun公司合作,Netscape高层希望它看上去能够像Java,因此取名为JavaScript
- 本质不同,Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,即使是开发简单的程序,也必须设计对象;而JavaScript是一种直译式脚本语言,它本身提供了非常丰富的内部对象供设计人员使用
- 执行方式不同,Java是介于解释型和编译型语言之间的一种语言,Java的源代码在传递到客户端执行之前,必须经过编译,再通过相应平台上的解释器执行;JavaScript是一种解释性编程语言,其源代码在发往客户执行之前不需经过编译,而是将文本格式的字符代码发送给客户编由浏览器解释执行
- 用途不同,java广泛应用于个人PC、数据中心、游戏控制台、移动电话和互联网等,而JavaScript的用途是:嵌入动态文本于HTML页面、对浏览器事件做出响应、读写HTML元素、在数据被提交到服务器之前验证数据、检测访客的浏览器信息、控制cookies,包括创建和修改等
- 注意:当使用外链js文件时script标记间不要放入任何内容
4. JavaScript的基本结构
- 基础的数据元素有常量和变量两种
- JavaScript采用弱类型的形式,一个数据的变量或者常量不必首先做声明,而是在使用或赋值时根据上下文环境确定其数据类型
4.1 常量
- 整型常量,实型常量,布尔值常量
- 字符串常量:使用单引号或双引号括起来的一个或几个字符
- 空值:null
- 特殊字符:以反斜杠(/)开头不可显示的特殊字符,又称控制字符
4.2 变量
- 声明格式:var 变量名1[,变量名2,…]
- 变量的取名规则:变量名必须以字母或下划线开头,其他字符可以为字母、下划线或数字;变量名区分大小写
4.3 数据类型
包括基本数据类型、数组和对象。
4.3.1 基本数据类型
包括字符串、数值和布尔值。
- 字符串:包含在单引号或双引号内的零个或多个字母、数字、标点符号和空格等字符的组合
- 数值型可以为整数或浮点数,JavaScript语言中数值类型还有两种特殊的数值:
– Infinity:表示正无穷大的特殊值
– NaN (Not a Number) :特殊的非数字值,它和任何数值都不相等 - 布尔值型只有两种取值:true或false
4.3.2 特殊数据类型
- 空值型用关键字null表示,它表示无值,而并不是0、空字符串或字符串“null”等含义。
- 未定义型用关键字undefined表示,当使用了一个并未声明或未赋值的变量时返回这个值。
注意:
- JavaScript中没有字符类型,或者说字符类型和字符串类型是完全相同的
- JavaScript中字符串与Java中字符串主要有两点区别:
– JavaScript中字符串可以用单引号引起来。
– JavaScript中比较两个字符串的字符序列是否相等使用==即可,无须使用equals()方法。
4.3.3 定义变量的方式
- 隐式定义:直接给变量赋值的方式
a="Hello JavaScript";
- 显示定义:使用var关键字定义变量,声明时变量可以没有初始值,声明的变量数据类型是不确定的。在第一次给变量赋值时,变量的数据类型才确定下来,而且使用过程中变量的数据类型也可随意改变。如:
var x; // x 为 undefined
x = 6; // x 为数字
x = “Bill”; // x 为字符串
- JavaScript也允许一次定义多个变量,还可以在定义变量时为变量指定初始值
4.3.4 数组
- 数组中元素的类型可以不相同,且长度可以随意变化
- 定义一个数组有如下三种语法格式:
var a=[3,5,23];
var b=[];
var c=new Array();
4.4 运算符
-
常用运算符可以分为:
算术运算符
逻辑运算符
关系运算符
字符串运算符
赋值运算符等 -
注意:全等于===;等于==
-
typeof运算符用于判断某个变量的数据类型
-
instanceof运算符用于判断某个变量是否为指定类的实例,如果是则返回true,否则返回false