console.log(信息); // 这个是常用的输出打印信息的手段.<br> > 前端开发程序员都喜欢用 [Chrome](./ChromeSetup.exe) 讨厌用 IE<br> > 目前前端开发喜欢用的 IDE(编辑器)是 [VScode](./VScode.exe)<br> > 测试用的html模板,在[这里](./index.html)<br> # Lesson1 变量 ## 变量的初始化 * var > 在 ES5 (ES 表示ECMAScript ,是一个标准,可以参考百度) 之前,变量命名都是使用 var 的方式. var 表示为变量进行声明. ```javascript 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 来为变量进行声明,<br> > 它们和var并没有什么太大的差异.<br> > cosnt 声明的变量,表示,该变量的不再改变(地址不改变 _ 这个可以做了解) > let 声明的变量,可以改变,也可以不改变. ```javascript const f = 0; f = 2; // 报错, 声明为const后,改变的变量 let g = 12; // ok let h = 22; // ok h = 24; // ok ``` > 变量在声明时,我们通常是使用小驼峰规范,<br> > 即 第一个单词全部小写,其余单词,首字母大写.<br> ```javascript var loadStatus = 'loading'; var userGetTimes = 2; ``` > 一行标准的赋值,会在赋值结尾加上分号 ; ## 变量的赋值 * = > 在变量声明的时候就,声明后给 = , 表示给变量赋值了.<br> > 只要不是用const声明的变量,都可以为变量重新赋值.<br> > 可以将任何类型赋给变量,不管这个变量之前是什么类型.<br>(高级语法中会有只读变量,但不常用,现在可以这么认为)<br> > 在赋值为字符串的时候, 单引号和双引号并没有什么区别. ```javascript // 示例 var a = 'nice'; var b = "nice"; console.log(a); // "nice" console.log(b); // "nice" ``` > 字符串中的模板拼接.<br> > 在日常拼接字符串的时候,如果字符串中带有单引号和双引号,会使得拼接起来非常麻烦,而且,可读性也很差. <br> > 在 js 中,可以使用字符串模板进行拼接. ```javascript // 示例 var name = 'jack'; var city = 'China'; var link = `"${name}" is from '${city}'`; // `` 符号,是键盘上esc下方的那个按键,(英文状态) // console.log(link); // "jack" is from 'China' // 这样写起来很容易,可读性也很好 ``` ## 变量的判断, > , < , == * 有时候我们需要去判断,这个变量的类型, 判断类型的操作符是 typeof ```JavaScript typeof(a) // 我们会得到 6 种结果 // undefined 这个值未定义, 比如: var a; typeof(a) // boolean 这是个布尔值 // string 这个值是字符串 // number 这个值是数值 // object 这个值是对象或者null (null 是一种和undefined类似的存在,都表示没有东西) // function 这个值是函数 比如: function a() {console.log('Hello');} ``` * 数值大于小于的判断, 和数学中的大于小于类似, 判断的结果是一个布尔值,如果表达式是符合逻辑的,就会得到 true,反之,得到false ```javascript var a = 10; var b = 5; console.log(a > b); // true console.log(a < b); // false ``` * 在判断变量是否相等时, 可以使用 == 或者 === > 使用 == 时,会先判断类型是否一致,不一致会进行转换,再使用转换后的进行比较(不推荐)<br> > 使用 === 时,会先判断类型,类型不一致,直接是 false<br> ```javascript var a = ''; // 字符型 var b = 0; // 数值型 console.log(a==b); // true console.log(a===b); // false // 如果 a 和 b 都是 对象(Object), 则不能使用这种判断方法. ``` ## 变量的操作 * \+ , -, *, / , % 操作符 ------------------------ * \+ 操作,有2种意义, 一是数值的相加, 二是字符串的拼接. ```javascript var a = 1; var b = 2; var c = a + b; console.log(c); // 3 // 注意,在使用+号进行数值相加时,相加后的值,如果要进行比较,请尽量使用整数.(这是因为js的精度产生的问题) var x = 0.1; var y = 0.2; var v1 = x + y; var v2 = (x * 10) + (y * 10); console.log(v1); // 0.30000000000000004 console.log(v2); // 3 console.log(v1 === 0.3); // false // 字符串的拼接 var str1 = 'my name'; var str2 = ' is jack'; var str3 = str1 + str2; console.log(str3); // my name is jack ``` * \- 操作符,意义为数值的相减 ```javascript var a = 3 - 2; console.log(a); // 1 ``` * \* 操作符,意义为前后两值的乘积 ```JavaScript var a = 3 * 2; console.log(a); // 6 ``` * \/ 操作符,意义为两数相除 ```JavaScript var a = 8 / 3; console.log(a); // 2.6666666666666665 ``` * \% 操作符,意义为取两数相除后的余数. ```javascript var a = 8 % 3; console.log(a); // 2 ```