JS学习笔记:变量与字符串基本语法

快速入门系列

提示:read-search-ask这个学习模式真不错,极其消耗脑细胞。


前言

准备转行做前端开发,开始自学前端相关概念,多总结,多训练,开始写博客记录一下我的学习心得。


一、基本语法

(一)变量

  1. 定义变量可以用 var、let、const、以及啥也不用直接写出变量名。
  2. 没有采用操作符定义的变量,为全局变量,但在严格模式下,会报错。
  3. var声明的变量会自动提升到函数作用域的顶部(就是先使用后定义)。
  4. var可以反复多次声明同一个变量。
  5. var声明的范围是函数作用域,let声明的范围是块作用域。
  6. const:声明变量时必须同时初始化变量,之后不能修改(但修改对象不违反const的限制)。
  7. 声明变量的最佳选择:
    a. 不使用var
    b.const优先,let次之。

(二)字符串

  1. 显示方式:ASCII字符可以用\x## 的形式表示
'\x41';//等同于 ‘A’
  1. 换行符:显示字符串的时候用 \n 换行,如果字符集大,就用反引号表示。(esc下边是反引号)
`多行
字符串`
  1. .字符串拼接:加号 或者 模板字符串
console.log(`你好, ${name}, 你今年${age}岁了!`); \\模板字符串
console.log('你好' + name+',' + '你今年' + age + '岁了!'); \\加号拼接
  1. 特别注意:字符串是不可变的
var s = 'Test';
s[0] = 'X';
alert(s); // s仍然为'Test'

(三)数组

  1. 数组大小的变化
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']

  1. 搜索指定元素的位置
var arr = [10, 20, '30', 'xyz'];
arr.indexOf(10); // 元素10的索引为0
  1. 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']
  1. push和pop:在末尾增加和删除元素
  2. 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 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>