93_JavaWeb_JS1_变量_数组_函数_object

举报
alexsully 发表于 2021/07/08 16:59:47 2021/07/08
【摘要】 JavaScript 介绍Javascript 运行在客户端(完成页面的数据验证),需要运行浏览器来解析执行 JavaScript 代码JS是弱类型(变量类型可变) ; Java是强类型(变量类型不可变)特点: 1. 交互性(它可以做的就是信息的动态交互) 2. 安全性(不允许直接访问本地硬盘) 3. 跨平台性(只要是可以解释JS的浏览器都可以执行,和平台无关)1  变量 JavaScrip...

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>





【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。