JavaScript基础
一、JavaScript概述
1、JavaScript是什么?
JavaScript(缩写为JS)是一种高级的、多范式、解释型的编程语言,是一门基于原型、函数先行的语言,它支持面向对象编程、命令式编程以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式,不支持I/O(比如网络、存储和图形等),但可以由它的宿主环境提供支持。它已经由ECMA(欧洲计算机制造商协会)通过ECMAScript实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器支持。
2、JavaScript的特点和功能
JavaScript是一门弱类型语言、脚本语言,每一个浏览器都有JS解析器,不需要编译器,可以直接在浏览器上解析执行。
JavaScript可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。
二、JavaScript基础知识
1、基本语法(与HTML结合方式)
①内嵌式
可在head和body标签内插入。
<!DOCTYPE html>
<html>
<head><title></title>
<script>
//头部式
</script>
</head>
<body>
<script>
//主体式
</script>
</body>
</html>
②外部式
通过script标签导入外部.js文件,同样可在head和body标签内插入。
<!DOCTYPE html>
<html>
<head><title></title>
<script src="one.js"></script>
</head>
<body>
<script src="one.js"></script>
</body>
</html>
2、变量
①变量类型
JavaScript的变量类型有:数值类型(Number)、字符串类型(String)、布尔类型(boolean)、对象类型(Object)、函数类型(function)。我们在定义变量的时候经常会遇到三种特殊值:
- Null : 空值
- undefined : 未定义,所有js变量未赋初值的时候,默认都是undefined
- NAN(Not A Number): 非数字,非数值。
②定义变量的格式
var 变量名;
var 变量名 = 值;
typeof:获取变量的类型
3、运算符
①一元运算符(只有一个运算数的运算符)
++:自增
–:自减
+(正号)
-(负号)
注意:
- 在JS中,如果运算数不是运算符所要求的类型,那么js引擎会自动的将运算数进行类型转换。
- 其他类型转number:①string转number:按照字面值转换。如果字面值不是数字,则转为NaN(不是数字的数字)②boolean转number:true转为1,false转为0。
②算术运算符
+、-、*、/、%
③赋值运算符
=、+=、-=、*=、/=
④比较运算符
<、>、==、>=、<=
===(全等):先判断类型,如果类型不相同,则直接返回fasle,不进行后续比较。
⑤逻辑运算符
&&、||、!
⑥三元运算符
表达式1 ? 值1 : 值2
若表达式为真则返回值1,为假则返回值2。
4、循环语句、条件判断语句
if…else、while()、for()、if()、do…while()、switch()
5、数组
var 数组名 = [];
var 数组名 = [1,2,3,"abc",true];
三、函数function
1、函数的定义
注意: JS中的的函数不允许重载,如果使用会覆盖掉上一个函数。
①无参函数
<script type="txt/javascript">
//定义无参函数
function 函数名(){
//函数体
}
//调用函数
函数名();
</script>
②定义有参函数的方式一
<script type="txt/javascript">
//定义有参函数方式一
//括号内无需指定参数类型
function sum(num1,num2){
var result = num1 + num2;
return reuslt;//直接返回值即可
}
//调用函数
alert(sum(1,2));
</script>
③定义有参函数的方式二
<script type="txt/javascript">
//定义有参函数方式二
//括号内无需指定参数类型
var = function sum(num1,num2){
return num1 + num2;//直接返回值即可
}
//调用函数
alert(sum(1,2));
</script>
2、隐形参数arguments
使用后在函数中,无需定义参数,即可以获取所有传递过来的参数的变量。类似于JavaSE中的可变长参数(public void fun(Object…args);)。arguments的长度由传入的参数决定,可视为数组。
<script>
function arrtest(num1,num2){
var result=0;
for(var i=0;i<arguments.length;i++){
result += arguments[i];
}
return result;
}
arrtest(1,2,3,4,5,6,7,8,9);
</script>
3、Object形式的自定义对象
定义一个空对象实例:
var 变量名 = new Object();
定义属性:
变量名.属性名 = 值;
定义一个函数:
变量名.函数名 = function(){}
对象的访问:
变量名.属性 / 函数名();
<script>
var obj = new Object();
obj.name = "boy";
obj.age = 18;
obj.fun = function(){
alert("name="+this.name+"age="+this.age);
}
alert(obj.name);
alert(obj.fun());
</script>
4、花括号形式的自定义对象
对象的定义:
var 变量名 = { //空对象
属性名:值, //定义一个属性
属性名:值, //定义多个属性之间用逗号隔开
函数名:function(){} //定义一个函数
}
对象的访问:
变量名.属性 / 函数名();