1.JavaScript:浏览器脚本语言
2.JavaScript的作用
|-1.进行前端验证
|-2.实现页面的动态效果
3.JavaScript的特点
|-1.和java没有任何关系,官方标准为ECMAScript
|-2.基于面向对象的编程语言
|-既有面向对象的特征又有面向过程的特征
|-3.JavaScript基于Unicode编码
|-4.弱数据类型的编程语言:在声明变量时无需指定变量的类型,认为变量的本身有类型的.
|-5.JavaScript直接交给浏览器解释执行
4.JavaScript的语法
|-1.如何在浏览器中使用JavaScript
在head标签中使用
<script type="text/javaScript">
//定义JavaScript的代码
alert(msg);//浏览器执行时弹出对话框
</script>
|-2.js为弱数据类型的编程语言,变量的使用var声明或者省略
|-js不存在重复定义的概念
|-字符串的定义可以使用单引号或者双引号声明
|-可以使用分号或者换行作为结束标签建议使用分号
|-3.js的数据类型
|-基本数据类型
|-number:表示数值型包括整形和浮点型
|-string:表示字符串类型
|-boolean:表示布尔类型
|-特殊的数据类型
undefined
|-1.定义了变量,但是没有给变量赋值
|-2.没有定义变量,直接使用
null
|-1.变量的值为null
|-2.函数没有返回值
typeof 变量;作用判断变量的类型
|-对象类型(要先介绍函数)
|-Object,数值,Function
|-4.运算符
|-数学运算符
|-加法:如果有字符串进行字符串的拼接
|-减法:如果字符串可以转成数字类型那么自动转成数字类型
|-字符串转成指定的类型
|-parseInt(str)
|-parseFloat(str)
alert(021);//0开头表示八进制
alert(0xf);//0x开头是十六进制
alert(1e2);//1*10的2次方
|-比较运算
|- ==:只会比较数据的值不关心数据类型
|- ===:即比较内容同时比较类型
|-逻辑运算符
|-三目运算符
|-5.流程控制
|-条件流程控制
|-if ...else if...else
|-switch ..case
注意:boolean结果可以表示true和false
数值的结果如果是0或0.0表示false,非零表示true
对象类型如果为null表示false,否则为true
字符串类型当有内容(空格)表示true,否则为false
|-循环流程控制
|-for,while,do..while
|-for(var i=0;i<length;i++){
}
js中没有代码库的概念:for循环的外部可以访问i
5.函数:function类似于java中的方法,完成特定的功能
|-函数的定义
1.function 函数名(参数列表){
//函数体
}
调用函数:函数名(实参);
注意:调用函数时函数名大小写敏感.
2. 采用对象的形式创建函数
var 函数名=new Function(参数1,...,参数n,函数体);
由于此种创建方式可读性不高,不推荐使用
3.采用匿名函数
var 变量名=function(参数){ 函数体;}
注意:js中函数不能重载,后面定义的函数会将前面同名的函数覆盖
arguments函数内部隐藏对象,封装实际的参数
6.js中全局变量和局部变量
|-全局变量:函数体外使用var声明的变量
没有使用var声明的变量(不区分函数内外)
|-局部变量:在函数体内使用var声明的变量
使用var声明变量和不是var声明变量的区别
|-如果使用var声明变量,系统强制重新定义一个新的变量
|-如果没有使用var声明,那么系统优先从上下文中进行搜索,如果没有在重新创建