JavaScript:客户端脚本语言
发展史:
1992年,nombas公司 C–,最早的客户端脚本语言。专门用于表单验证。 后更名为 scriptEarth
网景 scriptlive,后来找到sun公司合作,共同开发出 JavaScript
微软抄袭JavaScript 定义了 JScript
ECMA(欧洲计算机制造商协会)定义了一套客户端脚本语言的规范 ECMAScript规范
JavaScript = ECMAScript规范 + js自己特有的东西(BOM/DOM)
js与html结合方式
内部js:
定义<script>标签,标签体书写js代码
注意:<script>标签定义的位置,会影响执行顺序
外部js:
定义<script>标签,通过src属性导入外部js文件
ECMAScript规范
语法:
常量:
基本数据类型:
Java中:
整型:byte short int long
浮点型:float double
布尔型:boolean
字符型:char
js原始数据类型:
number:数字类型,包含整数和小数和 NaN(not a number)
string: 字符串和字符类型 “” ‘’
boolean: true 和 false
null: 空类型。对象的占位符
undefined:未定义,如果一个变量没有初始化值,默认为undefined
变量:
语法:
使用 var定义变量 var i = “abc”;
js是一门弱类型语言:定义变量时,不需要规定其数据类型。
typeof运算符:获取变量的数据类型
var关键字如果不书写,该变量则为全局变量
语句:
if
switch
while
do...while
for
运算符:自动类型转换
一元运算符
++ – +(正) -(负)
注意:在js中,如果传递给运算符的值,和 运算符想要接受的 值 的类型不匹配,则会自动类型转换其他类型转为number
string:将字符串的字面值,转为number,如果字面值不是数字,则 转为NaN
boolean: true为1 false 为0
比较运算符
> < >= <=:
NaN参与的运算,结果都为fasle,除了(!=)
字符串比较小大:如果长度一致按照字典顺序比较 长度不一致 那谁的长度长那就谁大
!=:
== ===(全等于):
全等于比较时,先比较类型,如果类型不一致,直接返回false
逻辑运算符
&& || !
其他类型转boolean
number:非0为true,0和NaN为false,
string: 除了空字符串(""),其他都是true
null 和 undefined:转为false
对象:所有对象都为true
算术运算符
+ - * / %
注意:NaN 参与数学运算 结果都为NaN
赋值运算符
= += …
三元运算符
表达式 ? 值1 : 值2;
对象:
js是一门基于对象的语言
基于对象:不能由原生的对象派生出新的对象。换句话说,不存在继承关系
Function(*****): 代表函数
创建方式:
var fun = new Function("参数列表","方法体");
function