学习记录4

来源:互联网 发布:电力系统分析软件 编辑:程序博客网 时间:2024/06/11 16:28

内容:
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]; // 等于 6arr[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; // val1myObj['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"); // truemyObj.hasOwnProperty("middle"); // false
0 0
原创粉丝点击