JS语法语句、变量

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <!--语法与语句,变量-->
        <!--
            javascript语法
            字符串:string,字面量:Number,表达字面量:5+6
            数组:Array,对象:Object,函数:Function
            JavaScript 关键字var定义变量,
            赋值,算术,位运算符:=、+、-、*、/
            条件、比较及逻辑运算符:==、!=、<、>
        -->
        <script>
            var xx = 10;
            var length = 16; // Number 通过数字字面量赋值
            var points = xx * 10; // Number 通过表达式字面量赋值
            var lastName = "Johnson"; // String 通过字符串字面量赋值
            var cars = ["Saab", "Volvo", "BMW"]; // Array  通过数组字面量赋值
            //一条语句多个变量
            var lastname = "Doe",
                age = 30,
                job = "carpenter";
            //x、y为undefined,z为1
            var x, y, z = 1;

            var person = {
                firstName: "John",
                lastName: "Doe"
            }; // Object 通过对象字面量赋值
            //函数可以重复使用,引用函数=调用函数(参数)
            function myFunction(a, b) {
                return a * b; // 返回 a 乘以 b 的结果
            }
            //let与const常量定义
            //函数外声明的为全局变量
            //函数内声明为局部变量
            var carname = "jian";

            function myname() {
                var ac = carname;
            }

            function hsn() {
                var jubu = "mc";
            }
            //let声明只在代码块{}中有效
            var x = 10; {
                let x = 2;
                //
                console.log(x); //这里为2
            }
            console.log(x) //这里输出为10
            //const 用于声明一个或多个变量,声明时必须进行初始化,初始化后的值不能改变。
            const P = 3.14;
            //p=2.1;//将会报错
            //那么什么情况能彻底“锁死”变量呢?可以使用Object.freeze()方法来 冻结变量 
            const obj = {
                name: "1024kb"
            }
            Object.freeze(obj)
            // 此时对象obj被冻结,返回被冻结的对象
            /*
                需要注意的是,被冻结后的对象不仅仅是不能修改值,同时也
                
                不能向这个对象添加新的属性
                不能修改其已有属性的值
                不能删除已有属性
                不能修改该对象已有属性的可枚举性、可配置性、可写性
            */
        </script>
        <!--
            使用var关键字声明的全局作用域变量属于window对象。
            使用let关键字声明的全局作用域变量不属于window对象。
            使用var关键字声明的变量在任何地方都可以修改。
            在相同的作用域或块级作用域中,不能使用let关键字来重置var关键字声明的变量。
            在相同的作用域或块级作用域中,不能使用let关键字来重置let关键字声明的变量。
            let关键字在不同作用域,或不用块级作用域中是可以重新声明赋值的。
            在相同的作用域或块级作用域中,不能使用const关键字来重置var和let关键字声明的变量。
            在相同的作用域或块级作用域中,不能使用const关键字来重置const关键字声明的变量
            const 关键字在不同作用域,或不同块级作用域中是可以重新声明赋值的:
            var关键字定义的变量可以先使用后声明。
            let关键字定义的变量需要先声明再使用。
            const关键字定义的常量,声明时必须进行初始化,且初始化后不可再修改。
        -->
    </body>
</html>

 

posted @ 2022-11-19 20:29  山君与见山  阅读(16)  评论(0编辑  收藏  举报