<!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>