=======================================================================
- var
在 ES5 (ES 表示ECMAScript ,是一个标准,可以参考百度) 之前,变量命名都是使用
var 的方式. var 表示为变量进行声明.
var a = 0; // 数值
var b = ‘nice’; // 字符串
var c = true; // true 和 false 为布尔值, 表示真或者假
var d = {}; // 对象
var x = null; // null 类型
var y = function() {alert(1);}; // 函数
// 如果变量在使用var 声明时,不赋值,那么,会被认为是 undefined.
var e;
console.log(e);
// undefined
- const, let (新标准 ES5)
在 es5标准中,可以使用 const 和 let 来为变量进行声明,
它们和var并没有什么太大的差异.
cosnt 声明的变量,表示,该变量的不再改变(地址不改变 _ 这个可以做了解)
let 声明的变量,可以改变,也可以不改变.
const f = 0;
f = 2; // 报错, 声明为const后,改变的变量
let g = 12; // ok
let h = 22; // ok
h = 24; // ok
变量在声明时,我们通常是使用小驼峰规范,
即 第一个单词全部小写,其余单词,首字母大写.
var loadStatus = ‘loading’;
var userGetTimes = 2;
一行标准的赋值,会在赋值结尾加上分号 ;
- =
在变量声明的时候就,声明后给 = , 表示给变量赋值了.
只要不是用const声明的变量,都可以为变量重新赋值.
可以将任何类型赋给变量,不管这个变量之前是什么类型.
(高级语法中会有只读变量,但不常用,现在可以这么认为)
在赋值为字符串的时候, 单引号和双引号并没有什么区别.
// 示例
var a = ‘nice’;
var b = “nice”;
console.log(a);
// “nice”
console.log(b);
// “nice”
字符串中的模板拼接.
在日常拼接字符串的时候,如果字符串中带有单引号和双引号,会使得拼接起来非常麻烦,而且,可读性也很差.
在 js 中,可以使用字符串模板进行拼接.
// 示例
var name = ‘jack’;
var city = ‘China’;
var link = "${name}" is from '${city}'
;
// `` 符号,是键盘上esc下方的那个按键,(英文状态)
// console.log(link);
// “jack” is from ‘China’
// 这样写起来很容易,可读性也很好
- 有时候我们需要去判断,这个变量的类型, 判断类型的操作符是 typeof
typeof(a) // 我们会得到 6 种结果
// undefined 这个值未定义, 比如: var a; typeof(a)
// boolean 这是个布尔值
// string 这个值是字符串
// number 这个值是数值
// object 这个值是对象或者null (null 是一种和undefined类似的存在,都表示没有东西)
// function 这个值是函数 比如: function a() {console.log(‘Hello’);}
- 数值大于小于的判断, 和数学中的大于小于类似, 判断的结果是一个布尔值,如果表达式是符合逻辑的,就会得到 true,反之,得到false
var a = 10;
var b = 5;
console.log(a > b);
// true
console.log(a < b);
// false
- 在判断变量是否相等时, 可以使用 == 或者 ===
使用 == 时,会先判断类型是否一致,不一致会进行转换,再使用转换后的进行比较(不推荐)
使用 === 时,会先判断类型,类型不一致,直接是 false
var a = ‘’; // 字符型
var b = 0; // 数值型
console.log(a==b);
// true
console.log(a===b);
// false
// 如果 a 和 b 都是 对象(Object), 则不能使用这种判断方法.
- + , -, *, / , % 操作符
- + 操作,有2种意义, 一是数值的相加, 二是字符串的拼接.
var a = 1;
var b = 2;