一、JavaScript(JS)简介
JavaScript 是一种轻量级的编程语言(网页即可解析执行,不用安装本地环境编译)
JavaScript是一种弱类型的语言(类型可变;java:强类型 类型不可变)
JavaScript是一种脚本语言(解释执行,而非编译)
JavaScript 是可插入 HTML 页面的编程代码。
特点:
- 交互性:信息的动态交互
- 安全性:不允许直接访问本地硬盘
- 跨平台性:可以解析JS的浏览器都可执行,和平台无关
二、JavaScript的用法
与html结合方式:
1:在<head></head>标签中,使用<script type=“text/javascript”> ……(js代码)</script>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第一个js代码</title>
<script type="text/javascript" >
alert("Hello,world!");
</script>
</head>
<body>
</body>
</html>
alert(): 是JavaScript中的警告框函数,可以接受任意类型的参数(警告框提示信息),在 JavaScript 中并不常用,但它对于代码测试非常方便。
2:单独写在javascript文件中,在<head></head>中引入外部js文件
<script type=“text/javascript” src="(文件路径)"> ……(js代码)</script>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第一个js代码</title>
<script type="text/javascript" src="../js/test/helloworld.js"></script>
</head>
<body>
</body>
</html>
//javascript文件
alert("Hello,world!");
三、变量
数值型:number
字符串型:string
对象类型:object
布尔类型:boolean
函数类型:function
特殊值:undefined(未定义类型)
null(空值)
NAN(非数字,非数值,not a number)
定义变量格式: var 变量名; //此时是未定义类型undefined
var 变量名=值;
typeof():返回变量的数据类型
var vae;
alert(typeof (vae)); //undefined
//---------------------------
var vae="hello world";
alert(typeof (vae)); //string
var=54878;
alert(typeof (vae)); //number
//弱类型语言 类型可变!
补充:
1、关系运算:
==:简单的字面值比较
===: 除了简单的字面值比较之外,还会比较两变量的数据类型
2、逻辑运算:
在js中所有变量都可以作为一个boolean类型去使用
0,"",undefined,null 都被认为是false
&&,||,! 都有短路情况
注意:
&&:全为真 ,返回最后一个表达式的值;有一个为假,返回第一个为假的表达式的值
||:全为假,返回最后一个表达式的值;有一个为真,返回第一个为真的表达式的值
四、数组
定义: var 数组名=[];
var 数组名=[1,“hello”,true];
var arr=[];
// 数组.length 求数组的长度(容量)
alert(arr.length); //0
arr[2]=55;
alert(arr.length); //3
alert(arr[3]) ; //undefined
//说明:只要通过数组下标赋值,那么最大的下标值,就会自动给数组扩容
//遍历数组
var arr=[2021,"hello","world",true];
for (var i=0;i<arr.length;i++){
consle(arr[i]);
}
五、函数
定义:
function 函数体(形参列表){
//函数体
【return……;】
}
或
var 函数名=func(形参列表){
//函数体
【return……;】
}
//注:形参列表不用写参数类型
function sum(a,b) {
return a+b;
}
alert(sum(10,5)); //结果15
注意:js的函数不允许重载。 若定义相同则覆盖上一次的函数。
Javascript没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中每个函数都会有一个Arguments对象实例arguments,它引用着函数的实参。
函数的arguments隐形参数(只在function函数体内) 类似于java的可变参数
相当于一个数组,可以通过数组.[下标] 的形式进行访问
function sum(a, b) {
var result=0;
alert(arguments.length);
for (var i = 0; i < arguments.length; i++) {
if (typeof (arguments[i]) == "number") {
result += arguments[i];
}
}
return result;
}
alert(sum(10,"one",false,90));
隐形参数的长度为4 与形参列表无关.
六、自定义对象
1、方式一
var 变量名=new object(); //创建一个空对象
变量名.属性名=值; //定义一个属性
变量名.函数名=function(){} //定义一个函数
对象访问:
变量名.属性名/函数名();
2、方式二(常用)
var 变量名={}; // 空对象
var 变量名={
属性名:值,
属性名:值,
函数名:function(){}
}
注意:函数中有this指针
var obj={
name:"Mae",
age:20,
set:function () {
this.name="john";
this.age=27;
} //与sql语句类似,前面逗号,最后一个不用逗号
}
alert(obj); // [object Object]
alert(obj.name); // Mae