JS学习笔记:变量与字符串基本语法
快速入门系列
提示:read-search-ask这个学习模式真不错,极其消耗脑细胞。
前言
准备转行做前端开发,开始自学前端相关概念,多总结,多训练,开始写博客记录一下我的学习心得。
一、基本语法
(一)变量
- 定义变量可以用 var、let、const、以及啥也不用直接写出变量名。
- 没有采用操作符定义的变量,为全局变量,但在严格模式下,会报错。
- var声明的变量会自动提升到函数作用域的顶部(就是先使用后定义)。
- var可以反复多次声明同一个变量。
- var声明的范围是函数作用域,let声明的范围是块作用域。
- const:声明变量时必须同时初始化变量,之后不能修改(但修改对象不违反const的限制)。
- 声明变量的最佳选择:
a. 不使用var
b.const优先,let次之。
(二)字符串
- 显示方式:ASCII字符可以用\x## 的形式表示
'\x41';//等同于 ‘A’
- 换行符:显示字符串的时候用 \n 换行,如果字符集大,就用反引号表示。(esc下边是反引号)
`多行
字符串`
- .字符串拼接:加号 或者 模板字符串
console.log(`你好, ${name}, 你今年${age}岁了!`); \\模板字符串
console.log('你好' + name+',' + '你今年' + age + '岁了!'); \\加号拼接
- 特别注意:字符串是不可变的
var s = 'Test';
s[0] = 'X';
alert(s); // s仍然为'Test'
(三)数组
- 数组大小的变化
a. 给数组的length赋新值
var arr = [1, 2, 3];
arr.length; // 3
arr.length = 6;
arr; // arr变为[1, 2, 3, undefined, undefined, undefined]
b. 在数据范围外索引复制
var arr = [1, 2, 3];
arr[5] = 'x';
arr; // arr变为[1, 2, 3, undefined, undefined, 'x']
- 搜索指定元素的位置
var arr = [10, 20, '30', 'xyz'];
arr.indexOf(10); // 元素10的索引为0
- slice():截取部分元素
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
arr.slice(0, 3); // 从索引0开始,到索引3结束,但不包括索引3: ['A', 'B', 'C']
arr.slice(3); // 从索引3开始到结束: ['D', 'E', 'F', 'G']
- push和pop:在末尾增加和删除元素
- unshift和shift在头部增加和删除元素
(四)循环
for···in
样例:
var o = {
name: 'Jack',
age: 20,
city: 'Beijing'
};
for (var key in o) {
console.log(key); // 'name', 'age', 'city'
}
for···of
样例:
var a = ['A', 'B', 'C'];
var s = new Set(['A', 'B', 'C']);
var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
for (var x of a) { // 遍历Array
console.log(x);
}
for (var x of s) { // 遍历Set
console.log(x);
}
for (var x of m) { // 遍历Map
console.log(x[0] + '=' + x[1]);
}
总结
文中部分代码来源:https://www.liaoxuefeng.com/
版权声明:本文为deletewo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。