<script>
标签<body>
<script>
alert("hello");
</script>
</body>
HTML
标签的一些属性里直接写 JS
代码<input type="button" value="按钮" onclick="alert('hello')">
JS
写到单独的文件里,使用 script
标签引入<script src="xxx.js"></script>
//行注释
/* 块注释 */
// 弹出一个输入框
prompt("请输入您的姓名:");
// 弹出一个警示对话框
alert("hello");
// ※ 向控制台打印日志 ※
console.log("这是一条日志");
let
// var 变量不需要声明类型
var name = '张三';
var age = 20;
// let 变量
let name = '张三';
不区分int
和float
,都叫做number
类型(数字)
let a = 10;
console.log(a);
console.log(typeof a);
a = 'hello';
console.log(a);
console.log(typeof a);
a && b
表示如果a的值为真(非0),表达式的值就是 b 的值;反之为 a 的值
a || b
表示如果a的值为真,表达式的值就是 a 的值,反之为 b 的值
x = x || 0;
这种写法是说,万一x是null或undefined,就将其设为 0 ,如果是其他值就不变
键值对的数组(类似哈希表)
// let arr = new Array(); //很少用
let arr = [1, 2, 'hello', false, null];
console.log(arr[0]); // 1
console.log(arr[2]); // hello
console.log(arr[3]); // false
console.log(arr[4]); // null
console.log(arr[10]); // undefined 越界位置值为 undefined
console.log(arr.length); // 5
arr[100] = 100;
console.log(arr.length); // 101
arr[-1] = 200;
arr['hello'] = 300;
arr.world = 500;
console.log(arr.length); // 101 数组大小不变,但值存在 --> 就像键值对结构的数组
push
let arr = [];
arr.push(1);
arr.push(2);
arr.push(3);
splice
arr.splice(2, 1); //表示从下标为 2 的位置开始删,删 1 个元素
int arr = ['aaa', 'bbb', 'ccc'];
// 1. for 循环遍历
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
// 2. for in 遍历
for (let i in arr) {
console.log(arr[i]);
}
// 3. for of 遍历
for (let value of arr) {
console.log(value);
}
如果刻意区分:
- 函数 指的是独立的函数
- 方法 指的是一个和类绑定的“成员函数
- 过程 指的是一个 没有返回值(void)的函数
// 创建函数/函数声明/函数定义
function 函数名(形参列表) {
// 函数体
return 返回值;
}
// 特点:
// 1. 没有返回类型,只有一个function关键字
// 2. 形参列表只有形参名字,没有参数类型
// 3. 不要求实参和形参个数相同
使用 let
创建的变量的作用域是 { } 块级作用域
使用 var
定义的变量没有 “ 块级作用域 ”, 只有函数级作用域
Object
let student = {
name: '张三',
age: 20
}
console.log(student.name);
console.log(student['name']);
,
分割,最后一个键值对后面的逗号可有可无:
分割function Cat(name, type) {
this.name = name;
this.type = type;
this.miao = function() {
console.log('喵');
}
}
let cat1 = new Cat('小墨','中华田园猫');
console.log(cat1);
let cat2 = new Cat('刺球','英国长毛猫');
console.log(cat2);