对于JavaScript基础知识的一些笔记总结。
数据类型以及变量
Number
数值类型,不区分整数和浮点数。可以直接进行四则运算。
1 + 1; // 2
(1 + 2) * 5 / 2; // 7.5
2 / 0; // Infinity
0 / 0; // NaN
10 % 3; // 1 %是求余运算
字符串
字符串是以单引号’或双引号"括起来的任意文本,比如’abc’,"xyz"等等。
布尔值
一个布尔值只有true、false两种值,要么是true,要么是false。
布尔值经常结合&&和 || 还有!的运算,其中&&表示且,运算的二边都要正确即为真,否则为假。|| 表示或,运算的二边任意一边为真即为真,否则为假。!表示非,他可以把真变为假的类型,假变为真的类型。
null和undefined
null 表示为空,即没有进行赋值,undefined表示为未定义,理解为都不存在。
数组
数组是一组按顺序排列的集合,集合的每个值称为元素。在JavaScript中数组可以包含任意类型的元素值。
var arr = [1,2,3]; //第一种创建数组的方法
var arr = new Array(1, 2, 3); //第二种创建数组的方法。
对象
JavaScript的对象是一组由键-值组成的无序集合。
可以用person.name 访问name属性,还可以用person[‘name’] 访问name属性,这二种方法都可以。
var person = {
name: 'Bob',
age: 20,
tags: ['js', 'web', 'mobile']
};
对象.属性名
对象['属性名'] //二种方法来获取值
变量
结合我们学的方程里的x,y变量来理解,变量可以是任意的数据类型,变量名我们自己进行命名,记得用var进行申明。
var a; // 申明了变量a,此时a的值为undefined
var $b = 1; // 申明了变量$b,同时给$b赋值,此时$b的值为1
var s_007 = '007'; // s_007是一个字符串
var Answer = true; // Answer是一个布尔值true
var t = null; // t的值是null
这里还有点要注意,如果我们不用var申明那么就会变成全局变量,使用var申明的变量则不是全局变量,它的范围被限制在该变量被申明的函数体内,同名变量在不同的函数体内互不冲突。
字符串数组对象的一些基础方法
字符串:
模板字符串
平时拼接字符串使用+号连接有时候会很麻烦,在es6中就给我们提供了模板字符串,很方便我们进行字符串的拼接。
var name = '小明';
var age = 20;
var message = `你好, ${name}, 你今年${age}岁了!`; //`就是esc建下面的那个键
toUpperCase
toUpperCase()
把一个字符串全部变为大写,调用这方法本身不会改变原有字符串的内容,而是返回一个新字符串:
toLowerCase
toLowerCase()
把一个字符串全部变为小写:
indexOf
indexOf()
会搜索指定字符串出现的位置,没有找到指定的子串时,返回-1。
substring
substring()
返回指定索引区间的子串:
var s = 'hello, world'
s.substring(0, 5); // 从索引0开始到5(不包括5),返回'hello'
s.substring(7); // 从索引7开始到结束,返回'world'
数组:
lenght
要取得Array的长度,直接访问length属性,注意,直接给lenght赋值的话会改变数组,还可以通过索引把对应的元素修改为新的值。
var arr = [1, 2, 3];
arr.length; // 3
arr.length = 6;
arr; // arr变为[1, 2, 3, undefined, undefined, undefined]
arr.length = 2;
arr; // arr变为[1, 2]
var arr = ['A', 'B', 'C'];
arr[1] = 99;
arr; // arr现在变为['A', 99, 'C']
indexOf
与String类似,Array也可以通过indexOf()
来搜索一个指定的元素的位置,如果没有找到元素。返回-1
slice
slice()
就是对应String的substring()版本,它截取Array的部分元素,然后返回一个新的Array,注意到slice()的起止参数包括开始索引,不包括结束索引,如果不给索引,那么会整体进行截取,返回一个一模一样的数组。
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
arr.slice(0, 3); // 从索引0开始,到索引3结束,但不包括索引3: ['A', 'B', 'C']
arr.slice(3); // 从索引3开始到结束: ['D', 'E', 'F', 'G']
push和pop
push()
向Array的末尾添加若干元素,pop()
则把Array的最后一个元素删除掉。
unshift和shift
如果要往Array的头部添加若干元素,使用unshift()
方法,shift()
方法则把Array的第一个元素删掉。
sort
sort()
可以对当前Array进行排序,它会直接修改当前Array的元素位置,直接调用时,按照默认顺序排序.
reverse
reverse()
把整个Array的元素给掉个个,也就是反转.
splice
splice()
方法是修改Array的“万能方法”,它可以从指定的索引开始删除若干元素,然后再从该位置添加若干元素.
var arr = ['Microsoft', 'Apple', 'Yahoo', 'AOL', 'Excite', 'Oracle'];
// 从索引2开始删除3个元素,然后再添加两个元素:
arr.splice(2, 3, 'Google', 'Facebook'); // 返回删除的元素 ['Yahoo', 'AOL', 'Excite']
arr; // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']
// 只删除,不添加:
arr.splice(2, 2); // ['Google', 'Facebook']
arr; // ['Microsoft', 'Apple', 'Oracle']
// 只添加,不删除:
arr.splice(2, 0, 'Google', 'Facebook'); // 返回[],因为没有删除任何元素
arr; // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']
concat
concat()
方法把当前的Array和另一个Array连接起来,并返回一个新的Array
join
join()
方法是一个非常实用的方法,它把当前Array的每个元素都用指定的字符串连接起来,然后返回连接后的字符串,如果Array的元素不是字符串,将自动转换为字符串后再连接。
var arr = ['A', 'B', 'C', 1, 2, 3];
arr.join('-'); // 'A-B-C-1-2-3'