昨天看了下js很基础的东西,这里大致做了点笔记,想if判断和循环这些就没有记笔记了,因为感觉都是差不多的。
在js中声明变量和变量的声明周期:
在js中声明在函数外的变量是全局变量,也就是在整个程序里有效,而在函数中声明的变量是局部变量,只在此函数中有效,但是还是有一点要注意的就是如果在函数中声明变量的时候使用了var
关键字这个变量就成了全局变量。
直接来字符串吧,在有些语言中单引号包裹字符,双引号才包裹字符串,但是在js中单引号和双引号包裹的都是字符串。
然后这里有一些字符串常用的操作:
获取字符串的长度:
var str = "abc";
str.length;//返回str的长度3
然后字符串也可以像数组一样使用下标访问,需要注意的是下标也是从0开始的:
var str = "abc";
str[2];//返回str的第三个字符c
在js中字符串是不可变的,只是字面上的值不能变,当你想要改变这个字符串的时候直接重新赋一个值就行了,而不能使用下标来改变单个的值。
在js中连接两个字符串直接使用+
加号就行了。
var str1 = "abc";
var str2 = "def";
var str = str1 + str2;//这里str的值为abcdef
然后是数组,数组就是能够同时储存多个数据,在js中最简单的数组定义方法:
var arr = ["a", "b", "c"];
声明一个变量然后直接赋值就行了。数组的访问就是用下标进行访问。
数组的一些常用操作:
//.pop()操作
//这个方法用来去除数组的最后一个元素并返回这个元素的值
var arr = [1, 2, 3];
var a = arr.pop();//此时a的值为3,数组的值为[1, 2]
//与之相反的操作是.push()操作
//这个操作是把元素压入数组的最后面,并且可以不只压入一个,可以是多个
var arr1 = [1, 2, 3];
arr1.push(4, 5);//此时数组的值为[1, 2, 3, 4, 5]
//还有一个类似.pop()去除开头元素的.shift()操作
//与.shift()相反但是与.push()类似的.unshift()操作用来把元素加入到数组最开始的位置,同样也可以一次性加入多个。
在js中声明函数:
//不带参数的
function functionName() {
console.log("Hello World");
}
//带参数的
function functionName(i) {
console.log(i);
}
//因为js为弱类型,所以上面直接填上一个变量名就行了
其实和其它编程语言也差不多,在js中声明函数使用function
关键字即可。
然后是js中的对象,对象有两种方式访问对象属性,一个是点操作符(.
),一个是中括号操作符([]
)。
var myObj = {
prop1: "val1",
prop2: "val2"
};
var prop1val = myObj.prop1; // val1
var prop2val = myObj.prop2; // val2
当想访问的属性中有空格时就只能用中括号来操作了:
var myObj = {
"last Name": "lv",
"first Name": "ren"
};
myObj["last Name"]; // lv
myObj['first Name']; // ren
提示:属性名称中如果有空格,必须把属性名称用单引号或双引号包裹起来。
var ourDog = {
"name": "Camper",
"legs": 4,
"tails": 1,
"friends": ["everything!"]
};
让我们更改它的名称为 “Happy Camper”,这有两种方式来更新对象的name属性:
ourDog.name = "Happy Camper";
ourDog["name"] = "Happy Camper";
你也可以像更改属性一样给对象添加属性。
看看我们是如何给ourDog添加 “bark”属性:
ourDog.bark = "bow-wow";
或者
ourDog["bark"] = "bow-wow";
我们同样可以删除对象的属性,例如:
delete ourDog.bark;
有时检查一个对象属性是否存在是非常有用的,我们可以用.hasOwnProperty(propname)
方法来检查对象是否有该属性。如果有返回true,反之返回 false。
还有一些数学函数
Math.random()
用来生成一个在0(包括0)到1(不包括1)之间的随机小数,因此Math.random()
可能返回0但绝不会返回1。
Math.floor()
,向下取整获得最近的整数。