93_JavaWeb_JS1_变量_数组_函数_object
JavaScript 介绍
Javascript 运行在客户端(完成页面的数据验证),需要运行浏览器来解析执行 JavaScript 代码
JS是弱类型(变量类型可变) ; Java是强类型(变量类型不可变)
特点:
1. 交互性(它可以做的就是信息的动态交互)
2. 安全性(不允许直接访问本地硬盘)
3. 跨平台性(只要是可以解释JS的浏览器都可以执行,和平台无关)
1 变量
JavaScript 的变量类型:
数值类型: number
字符串类型: string
对象类型: object
布尔类型: boolean
函数类型: function
JavaScript 里特殊的值:
undefined 未定义,所有 js 变量未赋于初始值的时候,默认值都是 undefined.
null 空值
NaN 全称是:NotaNumber。非数字/非数值
JS 中的定义变量格式:
var 变量名;
var 变量名 = 值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>vartest</title>
<script type="application/javascript">
/* javascript 弱类型 变量可变性 */
var i
i = 12;
// alert是JavaScript语言提供的一个警告框函数。
// 它可以接收任意类型的参数,这个参数就是警告框的提示信息
alert(typeof(i)) // number
i="alex"
alert(typeof (i)) // string
alert( i * 20 ); // NaN是非数字,非数值。
// 比较运算符 == ===
var a = "12";
var b = 12;
alert( a == b ); // true 等于 字面值的比较
alert( a === b ); // false 全等于 除了字面值比较,还比较数据类型
</script>
</head>
<body>
</body>
</html>
1.1 关系(比较)运算
等于: == 等于是简单的做字面值的比较
全等于: === 除了做字面值的比较之外,还会比较两个变量的数据类型
1.2 逻辑运算 所有的变量,都可以做为一个 boolean 类型的变量去使用 0 、null、 undefined、””(空串) 都认为是 false
且运算: &&
或运算: ||
取反运算: !
&& 且运算。 有两种情况:
第一种:当表达式全为真的时候。返回最后一个表达式的值。
第二种:当表达式中,有一个为假的时候。返回第一个为假的表达式的值
|| 或运算
第一种情况:当表达式全为假时,返回最后一个表达式的值
第二种情况:只要有一个为真。就会把回第一个为真的表达式的值
并且 && 与运算 和 ||或运算 有短路: 当这个&&或||运算有结果了之后,后面的表达式不再执行
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
var a = "12";
var b = 12;
alert( a == b ); // true 等于 字面值的比较
alert( a === b ); // false 全等于 除了字面值比较,还比较数据类型
var aa = "abc";
var bb = true;
var dd = false;
var cc = null;
/* && 且运算 有两种情况:
第一种:当表达式全为真的时候。返回最后一个表达式的值。
第二种:当表达式中,有一个为假的时候。返回第一个为假的表达式的值*/
alert( aa && bb );//true
alert( bb && aa );//true
alert( aa && dd ); // false
alert( aa && cc ); // null
/* || 或运算
第一种情况:当表达式全为假时,返回最后一个表达式的值
第二种情况:只要有一个表达式为真。就会把回第一个为真的表达式的值*/
alert( dd || cc ); // null
alert( cc|| dd ); //false
alert( aa || cc ); //abc
alert( bb || cc ); //true
</script>
</head>
<body>
</body>
</html>
1.3 数组定义方式
var 数组名 = []; // 空数组
var 数组名 = [1 , ’abc’ , true]; // 定义数组同时赋值元素
<script type="text/javascript">
var arr1 = [] // 定义空数组
var arr2 = [1,2,"alex"] // 定义空数组
// alert(arr1.length)
// alert(arr2.length + " "+ arr2[2]) // 同样通过下标去访问数组值
// javaScript语言中的数组,只要我们通过数组下标赋值,那么最大的下标值,就会自动的给数组做扩容操作
arr2[10] = 10
alert(arr2.length) //11 , 下标0起始
// alert(arr[9]);// undefined
// 遍历
for (var i = 0; i <arr2.length ; i++) {
alert(arr2[i]) // 未定义 undefined
}
</script>
1.4 函数的二种定义方式 (JS不允许函数重载)
1 function 函数名(形参列表){函数体} eg: function fun(){alert("无参函数 fun()被调用了");}
2 var 函数名 = function(形参列表) eg: var fun = function () {alert("无参函数"); }
1.5 函数的 arguments 隐形参数(只在 function 函数内)
隐形参数就是在 function 函数中不需要定义,但却可以直接用来获取所有参数的变量 (类似java的可变长参数一样)
public void fun( Object ... args );
可变长参数其他是一个数组。
那么 js 中的隐形参数也跟 java 的可变长参数一样。操作类似数组
<script type="text/javascript">
// 函数定义方式1
function fun1(){
alert("nothing")
}
// 函数定义方式2
var fun2 = function (a,b){
var sum2 = a + b;
return sum2;
}
fun1()
alert(fun2(1,10)) //调用
// 隐形参数 --> String[] args, object... args
function fun(a) {
alert( arguments.length );//可看参数个数
for (var i = 0; i < arguments.length; i++){
alert( arguments[i] );
}
}
fun(1,"ad",true);
</script>
1.6 JS 中的自定义对象 Object 形式的自定义对象;定义:
var 变量名 = new Object(); // 对象实例(空对象)
var 变量名 = {// 空对象属性名:值,}
<script type="text/javascript">
// 定义对象1 var 变量名 = new Object(); // 对象实例(空对象)
var obj1 = new Object()
obj1.name = "alex";
obj1.age = 35;
obj1.fun1 = function (){
alert(obj1.name + " " + obj1.age);
}
// alert(obj1) //[object Object]
// alert(obj1.fun1())
// 定义对象2 {} var 变量名 = {// 空对象属性名:值,}
var obj2 = {
name: "bob",
age: 40,
fun2: function(){
alert( this.name + " "+ this.age); }
};
obj2.fun2()
</script>
- 点赞
- 收藏
- 关注作者
评论(0)