您的位置:首页 > 其它

学习记录4

2017-01-24 14:04 106 查看
内容:

1.关于JavaScript

1.变量与字符串:你可以通过在字符串变量或字符串后面写上 .length 来获得字符串变量 字符串 值的长度。

var firstNameLength = 0;
var firstName = "Ada";

firstNameLength = firstName.length //3;


索引:与之前类似,基于0的索引:

var firstLetterOfFirstName = "";
var firstName = "Ada";

firstLetterOfFirstName = firstName[0];


如果想获取字符串中最后一个字母:

(其他同理)

var firstName = "Ada";
var thirdToLastLetterOfFirstName = firstName[firstName.length - 1];


在 JavaScript 中,字符串 的值是不可变的,这意味着一旦字符串被创建就不能被改变。如果需要改变,则需要重新赋值。

var myStr = "Bob";
myStr = "Job";


2.矩阵

索引的方法与变量相同

var myArray = [1,2,3];
var myData = myArray[0];


与字符串的数据不可变不同,数组的数据是可变的,并且可以自由地改变。

var myArray = [1,2,3];
myArray[0]=3;


可以把多维数组看作成是一个数组中的数组。当使用[]去访问数组的时候,第一个[index]访问的是第N个子数组,第二个[index]访问的是第N个子数组的第N个元素。

var arr = [[1,2,3],[4,5,6],[7,8,9],[[10,11,12], 13, 14]];
arr[0]; // 等于 [1,2,3]
arr[1][2]; // 等于 6
arr[3][0][1]; // 等于 11


.push() 接受把一个或多个参数,并把它“推”入到数组的末尾。

var arr = [1,2,3];
arr.push(4);
// 现在arr的值为 [1,2,3,4]


pop() 函数用来“抛出”一个数组末尾的值。我们可以把这个“抛出”的值赋给一个变量存储起来。

var oneDown = [1, 4, 6].pop();
//现在 oneDown 的值为 6 ,数组变成了 [1, 4]。


.shift() 它的工作原理就像 .pop(),但它移除的是第一个元素,而不是最后一个。

.unshift() 函数用起来就像 .push() 函数一样, 但不是在数组的末尾添加元素,而是在数组的头部添加元素。

var ourArray = ["Stimpson", "J", "cat"];
ourArray.shift(); // ourArray now equals ["J", "cat"]
ourArray.unshift("Happy");
// ourArray now equals ["Happy", "J", "cat"]


3.函数

在 JavaScript 中,我们可以把代码的重复部分抽取出来,放到一个函数

(functions)中。
function functionName() {
console.log("Hello World");
}
调用:  functionName();


在 JavaScript 中, 作用域 涉及到变量的作用范围。在函数外定义的变量具有 全局 作用域。这意味着,具有全局作用域的变量可以在代码的任何地方被调用。在一个函数内声明的变量,以及该函数的参数都是局部变量,意味着它们只在该函数内可见。

function myTest() {
var loc = "foo";
console.log(loc);
}
myTest(); // "foo"
console.log(loc); // "undefined"


一个程序中有可能具有相同名称的局部变量 和全局变量。在这种情况下,局部 变量将会优先于 全局 变量。

var someVar = "Hat";
function myFun() {
var someVar = "Head";
return someVar;
}
//函数 myFun 将会返回 "Head",因为 局部变量 优先级更高。


4.Boolean

if-else

在条件判断语句中,代码的执行顺序是从上到下,所以需要考虑清楚先执行哪一句,后执行哪一句。

function foo(x) {
if (x < 1) {
return "Less than one";
} else if (x < 2) {
return "Less than two";
} else {
return "Greater than or equal to two";
}
}


switch:

switch (num) {
case value1:
statement1;
break;
case value2:
statement2;
break;
...
default:
defaultStatement;
}


当输入情况比较多时:

switch(val) {
case 1:
case 2:
case 3:
result = "1, 2, or 3";
break;
case 4:
result = "4 alone";
}


所有的比较操作符返回的都是一个boolean值,要么是 true 要么是false 。所以我们可以直接返回比较的结果

function isEqual(a,b) {
return a === b;
}


当代码执行到return语句时,函数返回一个结果就结束运行了,return后面的语句根本不会执行。

function myFun() {
console.log("Hello");
return "World";
console.log("byebye")
}
myFun();
//代码输出"Hello"到控制台、返回 "World",但没有输出"byebye",因为函数遇到return语句就退出了。


5.对象 object

对象和数组很相似,数组是通过索引来访问和修改数据,对象是通过属性来访问和修改数据的。有两种方式访问对象属性,一个是点操作符(.),一个是中括号操作符([])。

(1)当知道属性的名称的时候,使用点操作符。

(2)如果想访问的属性的名称有一个空格,这时只能使用中括号操作符([])。

var myObj = {
prop1: "val1",
"More Space": "Spock"
};
var prop1val = myObj.prop1; // val1
myObj['More Space']; // Spock


中括号操作符的另一个使用方式是用变量来访问一个属性。当你需要遍历对象的属性列表或查表时,这种方式极为有用。

注意:当我们通过变量名访问属性的时候,不需要给变量名包裹引号。因为实际上我们使用的是变量的值,而不是变量的名称。

var someProp = "propName";
var myObj = {
propName: "Some Value"
}
myObj[someProp]; // "Some Value"


当创建了一个对象后,你可以用点操作符或中括号操作符来更新对象的属性、给对象添加属性、删除对象的属性:

var ourDog = {
"name": "Camper",
"legs": 4,
"tails": 1,
"friends": ["everything!"]
};
ourDog.bark = "bow-wow";
ourDog.name = "Happy Camper";
delete ourDog.bark;


有时检查一个对象属性是否存在是非常有用的,可以用.hasOwnProperty(propname)方法来检查对象是否有该属性。如果有返回true,反之返回 false。

var myObj = {
top: "hat",
bottom: "pants"
};
myObj.hasOwnProperty("top"); // true
myObj.hasOwnProperty("middle"); // false
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: