字符串
1.变量的赋值:var myVar = 0;或var c="I am a" ;((这个是语言的基础)
2.你定义一个字符串必须要用单引号或双引号来包裹它。那么当你需要在字符串中使用一个:"
或者 '
时该怎么办呢?在 JavaScript 中,你可以通过在引号前面使用反斜杠 (\
) 来转义引号。 var sampleStr = "Alan said, \"Peter is learning JavaScript\"."; 实际输出结果是Alan said, "Peter is learning JavaScript".
3.在 JavaScript 中的 字符串 要用单引号或双引号来包裹它,只要你在开始和结束都使用相同类型的引号,单引号和双引号的功能在JavaScript中是相同的。如果你有很多双引号的字符串,使用转义字符可能导致难以阅读。这时候可以使用单引号。var sampleStr = 'Alan said, "Peter is learning JavaScript".'; 实际输出结果是Alan said, "Peter is learning JavaScript".(也就是说用两种双引号可以去掉转义的环节)
4.如果你想要显示一个反斜杠(在字符串中添加并显示)就必须要转义它。下面是常见的转义序列列表:
5.你可以通过在字符串变量或字符串后面写上.length
来获得字符串变量 字符串
值的长度。 "Alan Peter".length; // 10
6.我们通过[索引]
来获得字符串中的某个字符。var firstName = "Charles" ; firstName[0];
firstName[firstName.length - 3]
7.字符串的不可变性!var myStr = "Bob"; myStr[0] = "J"; 是不会把变量
myStr
的值改变成 "Job" 的,因为变量 myStr
是不可变的。注意,这 并不 意味着myStr
永远不能被改变,只是字符串字面量 string literal 的各个字符不能被改变。改变 myStr
中的唯一方法是重新给它赋一个值,var myStr = "Bob";myStr = "Job";
数组
1.常见格式var sandwich = ["peanut butter", "jelly", "bread"] ;((这个是语言的基础)
2.多维数组var ourArray = [["the universe", 42], ["everything", 101010]];(
3.访问数组中的元素var array = [1,2,3]; array[0]; // 等于 1
var data = array[1]; // 等于 2
4.与字符串的数据不可变不同,数组的数据是可变的,并且可以自由地改变。var ourArray = [3,2,1];
ourArray[0] = 1; // ourArray等于 [1,2,1]
5.改变数组内容—【1】push()接受把一个或多个参数,并把它“推”入到数组的末尾。var arr = [1,2,3]; arr.push(4);// 现在arr的值为 [1,2,3,4]
— 【2】.pop()
函数用来“抛出”一个数组末尾的值。我们可以把这个“抛出”的值赋给一个变量存储起来。var oneDown = [1, 4, 6].pop();
现在oneDown
的值为 6
,数组变成了 [1, 4]
。
— 【3】.shift()移除的是第一个元素。var ourArray = ["Stimpson", "J", ["cat"]]; removedFromOurArray = ourArray.shift();
// 经过 shift 操作后,removedFromOurArray 的值为 "Stimpson",ourArray 的值为 ["J", ["cat"]].
— 【4】.unshift()
(移入)一个元素到数组的头部。
函数
1.一个程序中有可能具有相同名称的局部 变量 和 全局 变量。在这种情况下,局部
变量将会优先于 全局
变量。
2.可以使用return
语句把数据从一个函数中传出来。function plusThree(num) {
return num + 3;
}
var answer = plusThree(5); // 8
3.常见的系统函数【1】sum
函数:其功能就是将两个数字相加 ourSum = sum(5, 12);
4.在函数中有一个关于return返回值与布尔值联动的bug
function test (myCondition) {
if (myCondition) {
return "It was true";
}
return "It was false";
}
test(true); // 返回 "It was true"
test(false); // 返回 "It was false"[bug之处在于函数中没有else]
5.严格相等运算符(===
)是相对于相等操作符(==
)的一种操作符。与相等操作符不同的是,它会同时比较元素的值和数据类型
。
比如: 3 === 3 // true
3 === '3' // false
6.严格不相等运算符(!==
)与全等运算符是相反的。严格相等运算符不会转换值的数据类型。(与不相等!= 略有不同)
比如3 !== 3 // false 3 != 3 // false
3 !== '3' // true3 != '3' // false
4 !== 3 // true4 != 3 // true
注意:对比返回布尔值时数字会自动转变成字符
5 > 3 // true
7 > '3' // true
2 > 3 // false
'1' > 9 // false
与相等运算符相似,大于等于
运算符在比较的时候会转换值的数据类型。
6 >= 6 // true
7 >= '3' // true
2 >= 3 // false
'7' >= 9 // false
具体应用:高尔夫游戏——代码
function golfScore(par, strokes) {
if(strokes<=1)
{return "Hole-in-one!";
}else if(strokes<=par - 2){return "Eagle";
}else if(strokes<=par - 1){return "Birdie";
}else if(strokes<=par){return "Par";
}else if(strokes<=par + 1){return "Bogey";
}else if(strokes<=par + 2){return "Double Bogey";}
return "Go Home!";
}
golfScore(5, 4);
7.switch语句模板
switch(val) {
case 1:
case 2:
case 3:
result = "1, 2, or 3";
break;
case 4:
result = "4 alone";
}