JavaScript Basic, JS入门笔记
JavaScript Basic
Comment Your Code
注释的两种方式:
- 双斜线的单行注释//
1 | // This is an in-line comment |
- 斜线星号的多行注释
1 | /* This is a |
Declare JavaScript Variables
声明变量:
JS里一共有7种变量类型:undefined, null, boolean, string, symbol, number, object
在JS中使用 var 来声明变量
1 | var ourName |
Storing Values with the Assignment Operator
用等号给变量赋值, 赋值运算总是从右往左进行,等号右边的最终计算结果被赋予等号左边的变量
1 | myVar = 5; |
Initializing Variables with the Assignment Operator
在声明变量时,给变量赋值初始化
1 | var myVar = 0; // Creates a new variable called myVar and assigns it an initial value of 0 |
Understanding Uninitialized Variables
当变量被声明时,他的初始值(如果没有手动设置初值)为undefined
1 | var a; |
Understanding Case Sensitivity in Variables
在设置变量名时,编译器会区别变量名的大小写。所以当有两个变量的变量名字母相同,但大小写不同时,我们就要注意区分其中的区别。一般情况下,我们不推荐用大小写来区分不同的变量(除非有一些默认常量值,用全部的大写字母表示)
Arithmetic Operate Two Numbers with JavaScript
加减乘除四则运算
1 | var sum = 5 + 10; // assigned 15 |
Increment/Decrement a Number with JavaScript
自加减1
1 | i++; // i = i + 1; |
Create Decimal Numbers with JavaScript
JS的变量可以储存小数,小数通常被当作 floating point numbers,floats
1 | var myDecimal = 5.7; |
Finding a Remainder in JavaScript
整数除法求商和余数
1 | var myNum = 5; |
Declare String Variables
声明字符串变量
1 | var myStr = "Hello"; |
Escaping Literal Quotes in Strings
字符串中的一些转义字符
1 | var sampleStr = "Alan said, \"Peter is learning JavaScript\"."; |
Quoting Strings with Single Quotes
在JavaScript 中,单引号和双引号都可以表示字符串变量,且效果相同
Concatenating Strings
用加号来连接字符串
1 | 'Hello '+'World'; // "Hello World" |
Find the Length of a String
求字符串的长度 string.length 返回长度值(包括空格)
1 | "Alan Peter".length; // 10 |
Use Bracket Notation to Find the First Character in a String
用[]索引字符串中的某个字符
首字母:
1 | var firstName = "Charles"; |
第n个字母(索引值为 n-1):
1 | var firstName = "Ada"; |
最后一个字母(用length得到字符串长度):
1 | var firstName = "Charles"; |
Understand String Immutability
在JS中,String 类型中的某个字符是不能改变的,只能将整个变量重新赋值
1 | var myStr = "Bob"; |
正确的修改方法为:
1 | var myStr = "Bob"; |
Store Multiple Values in one Variable using JavaScript Arrays
用阵列储存多个数据:
1 | var sandwich = ["peanut butter", "jelly", "bread"]. |
Nest one Array within Another Array
阵列的元素可以是子阵列,这样的阵列也叫多维阵列,可以使用索引读取和修改数据:
1 | var myArray = [["Bulls", 23], ["White Sox", 45]]; |
Manipulate Arrays With push(), pop(), shift(), unshift()
array.push(x) 把x加到阵列的最后一位,函数返回值为array的元素个数
array.pop() 移除阵列的最后一个元素,返回最后一个元素的值
array.shift() 移除阵列的第一个元素,返回这个元素的值
array.unshift(x) 把x加到阵列的第一位,函数返回值为array的元素个数
Write Reusable JavaScript with Functions
JS的方程示例
1 | function functionName(input) { |
Global Scope and Functions
在JS中, 在方程外定义的变量是全局可见的,方程内的局部变量在另一个方程里为undefined
1 | var myGlobal = 1; |
Local Scope and Functions
局部变量在方程之外是不可见的
1 | function myLocalScope() { |
Global vs. Local Scope in Functions
如果全局变量和局部变量重名,那么优先使用方程内部的局部变量,但是全局变量不会因此被修改。
1 | var someVar = "Hat"; |
Return a Value from a Function with Return
你可以设置函数变量把参数传递给局部变量,也可以使用 return 把参数传递回方程外部:
1 | function plusThree(num) { |
Understanding Undefined Value returned from a Function
一个函数可以有 return 声明,也可以没有。当一个函数没有return时,它的返回值是undefined
1 | var sum = 0; |
Assignment with a Returned Value
函数的返回值通过等号赋值给变量:
1 | ourSum = sum(5, 12);// ourSum = 17; |
Understanding Boolean Values
布尔型变量, 布尔型变量只有两种:true 和 false
Use Conditional Logic with If Statements
If 语句的写法和条件分支情况:
1 | if (condition is true) { |
Comparison with the Equality Operator
比较:相等的情况,相等 ==,强等于 ===
1 | function equalityTest(myVal) { |
比较:强等于情况下字符串变量不会转化成数字
1 | 3 === 3 // true |
比较:不等于 !=
1 | 1 != 2 // true |
比较:强不等于 ! ==
1 | 3 !== 3 // false |
比较:大于 >
1 | 5 > 3 // true |
比较:大于或等于 > =
1 | 6 >= 6 // true |
比较:小于 <
1 | 2 < 5 // true |
比较:小于或等于 < =
1 | 4 <= 5 // true |
Comparisons with the Logical And Operators
逻辑运算符:与 and
1 | if (num > 5 && num < 10) { |
逻辑运算符:或 or
1 | if (num > 10 || num < 5) { |
Introducing Else, Else if Statements
当条件判断结果为 false, 使用 else 和 else if 来表示其他的分支情况:
1 | if (num > 10) { |
1 | if (num > 15) { |
Chaining If Else Statements
把 if else 语句连接起来
1 | if (condition1) { |
Selecting from Many Options with Switch Statements
使用 Switch 语句从一个判断条件的多种情况中选择:
1 | switch(lowercaseLetter) { |
添加默认情况:
1 | switch (num) { |
当多种情况结果相同时,可以将代码简化省略:
1 | switch(val) { |
Build JavaScript Objects
建立 JS 对象,对象变量和数组类似,但是在取得和修改对象中的数据时,我们会用到对象的属性 properties.
1 | var cat = { |
我们用“.”记号来获得对象的属性值:
1 | var myObj = { |
我们也可以用方括号“[ ]” 来读取数据:
1 | var myObj = { |
更新对象的属性:
1 | var ourDog = { |
添加新属性:
1 | ourDog.bark = "bow-wow"; |
删除属性:
1 | var ourDog = { |
Testing Objects for Properties
为了测试对象是否存在某一属性, 我们可以使用命令 .hasOwnProperty(proname) . 函数会返回布尔值。
1 | var myObj = { |
Accessing Nested Objects
当对象变量较为复杂,层层嵌套时,可以一层层读取:
1 | var ourStorage = { |
对于多维对象阵列,可以使用同样的方法:
1 | var ourPets = [ |
Iterate with JavaScript Loops
while 循环:
1 | var ourArray = []; |
for 循环:
1 | var ourArray = []; |
do … while 循环:
1 | var ourArray = []; |
Replace Loops using Recursion
使用递归代替循环:
1 | function multiply(arr, n) { |
Generate Random Fractions with JavaScript
生成随机数:Math.randon() 会生成一个0(包括)到1(不包括)之间的数:
生成一个整数:
1 | 1. Use Math.random() to generate a random decimal. |
在范围[a,b] 之间生成随机数:
1 | Math.floor(Math.random() * (max - min + 1)) + min |
Use the parseInt Function
方程 parseInt() 将字符串转化为整型数字:
1 | var a = parseInt("007"); // a = 7 |
方程 parseInt() 还可以设置转换数字的进制:
1 | var a = parseInt("11", 2);// a =3 |
Use the Conditional (Ternary) Operator
条件运算符:
1 | function findGreater(a, b) { |
多个条件运算符:
1 | function findGreaterOrEqual(a, b) { |
Use Recursion to Create a Countdown
使用递归来创造一个递减数列:
1 | function countup(n) { |
Use Recursion to Create a Range of Numbers
使用递归来创造某一范围内的整数数列:
1 | function rangeOfNumbers(startNum, endNum) { |


