JavaScript基础回顾

字符串的一些方法

  • toUpperCase()字符串转换为大写
	var name='hello world';
	console.log(name.toUpperCase());
  • tolowerCase()字符串转化为小写
	var name='HELLO WORLD';
	console.log(name.toLowerCase());
  • indexOf()搜索指定字符出现的位置
	var name='HELLO WORLD';
	console.log(name.indexOf('O'));
  • substring(x,y)获得指定区间的子串
	var name='HELLO WORLD';
	console.log(name.substring(6));//WORLD
	console.log(name.substring(1, 3))//EL

数组的一些方法

  • length():获得数据的长度
	var arr = [1,5,6,7,7,'helloworld'];
	console.log(arr.length)//6
  • 通过数组中的下标改变值
	var arr = [1,5,6,7,7,'helloworld'];
	arr[1] = 788989;
	console.log(arr)
  • indexOf():获得数组中第一次出现的位置(没有找到返回-1)
	var arr = [1,5,6,7,7,'helloworld'];
	console.log(arr.indexOf(7));//3
  • slice():slice()就是对应String的substring()版本,它截取Array的部分元素,然后返回一个新的Array

无参数时可实现对数组的复制功能

	var arr = [1,5,6,7,7,'helloworld'];
	console.log(arr.slice(0, 2));//[1, 5]
	console.log(arr.slice());//[1, 5, 6, 7, 7, "helloworld"]   
	console.log(arr.slice(4,6));//[7, "helloworld"]
  • push和pop:类似于JAVA中栈的结构
  • 在数组的尾部添加数据

var arr = [1, 2];
arr.push('A', 'B'); // 返回Array新的长度: 4
arr; // [1, 2, 'A', 'B']
arr.pop(); // pop()返回'B'
arr; // [1, 2, 'A']
arr.pop(); arr.pop(); arr.pop(); // 连续pop 3次
arr; // []
arr.pop(); // 空数组继续pop不会报错,而是返回undefined
arr; // []
  • unshift和shift()方法

前者是在数组第一位 添加数据,后者是删除第一位的数据

	var name = [1,3];		
	console.log(name.unshift('2'));
  • sort():对数组中的数据进行排序
	var arr = [1,3,2,6,7,7,3,2,6,7,2,6,3,1,6,7,2,7];	
	arr.sort()	;
	console.log(arr);//[1, 1, 2, 2, 2, 2, 3, 3, 3, 6, 6, 6, 6, 7, 7, 7, 7, 7]
  • reverse():将数组中的数据进行翻转
	var arr = [1,3,2,6,7,7,3,2,6,7,2,6,3,1,6,7,2,7];	
	arr.reverse()	;
	console.log(arr);//[7, 2, 7, 6, 1, 3, 6, 2, 7, 6, 2, 3, 7, 7, 6, 2, 3, 1]
  • splice(x,y,‘A’,‘B’):索引x开始删除y个元素,然后再添加两个元素:
	var arr = [1,3,2,6,7,7,3,2,6,7,2,6,3,1,6,7,2,7];	
	arr.splice(2, 3, '軟件技術');//删除并添加
	console.log(arr);
	arr.splice(2, 2);//删除两位数据
	console.log(arr);
	console.log(arr.splice(2,0,'華為','中國'));//不删除,只添加

image

  • concat():连接两个数组
		var arr = [1,3,2,6,7,7,3,2,6,7,2,6,3,1,6,7,2,7];	
		var arr1 = arr.concat(['A','B','C','E']);
		console.log(arr1);//[1, 3, 2, 6, 7, 7, 3, 2, 6, 7, 2, 6, 3, 1, 6, 7, 2, 7, "A", "B", "C", "E"]

concat()并没有修改当前的数组,返回了一个新的数组

  • join()通过制定字符连接数组中的每一个元素
		var arr = [1,3,2,6,7,7,3,2,6,7,2,6,3,1,6,7,2,7];	
		console.log(arr.join('-'));//1-3-2-6-7-7-3-2-6-7-2-6-3-1-6-7-2-7

取出多维数组中的数字500

	var arr = [[1, 2, 3], [400, 500, 600], '-'];
	console.log(arr[1][1]);

对象

访问不存在的属性返回undefined

		var longhaicheng = {
			name:'longhaicheng',
			age:21,
			birth:1996-12-10,
			'number':'185cm'
		};
		console.log(longhaicheng.name);//longhaicheng
		console.log(longhaicheng['number']);//185cm
		console.log(longhaicheng.password);//undefined
  • 添加属性
		var longhaicheng = {
			name:'longhaicheng',
			age:21,
			birth:1996-12-10,
			'number':'185cm'
		};
		longhaicheng.pwd=21212;
		console.log(longhaicheng);//{name: "longhaicheng", age: 21, birth: 1974, number: "185cm", pwd: 21212}
  • 删除属性
		var longhaicheng = {
			name:'longhaicheng',
			age:21,
			birth:1996-12-10,
			'number':'185cm'
		};
		delete longhaicheng.age;
		console.log(longhaicheng);//{name: "longhaicheng", birth: 1974, number: "185cm"}
  • 判断是否存在指定的属性

使用in判断是否存在属性时,包括继承而来的属性

		var longhaicheng = {
			name:'longhaicheng',
			age:21,
			birth:1996-12-10,
			'number':'185cm'
		};
		console.log('name' in longhaicheng);//true
		console.log('data' in longhaicheng);//false

要判断一个属性是否是该对像私有的,使用hasOwnProperty()方法

		console.log(longhaicheng.hasOwnProperty('name'));//true
		console.log(longhaicheng.hasOwnProperty('id'));//false

条件判断

Javascript中null、undefined、0、NaN和空字符串’'视为falsw,其他值一概视为true

循环

  • for…in循环

for循环的一个变体是for … in循环,它可以把一个对象的所有属性依次循环出来

		var longhaicheng = {
			name:'longhaicheng',
			age:21,
			birth:1996-12-10,
			'number':'185cm'
		};
		for (var key in longhaicheng) {
			console.log(key);
		}name,age,birth,number

要过滤掉对象继承的属性,用hasOwnProperty()来实现:

var o = {
    name: 'Jack',
    age: 20,
    city: 'Beijing'
};
for (var key in o) {
    if (o.hasOwnProperty(key)) {
        console.log(key); // 'name', 'age', 'city'
    }
}
  • foreach()循环
	var arr = ['Bart', 'Lisa', 'Adam'];
	arr.forEach( function(item) {
		console.log('hello '+item)
	});

image

Map和Set

Map是一组键值对的结构,具有极快的查找速度,,且一个key只对应一个value

  • Map的初始换及数据的添加
		var map = new Map([['数学',100],['语文',100],['体育',90]]);
		console.log(map.get('数学'));
		var map = new Map();
		map.set('name','张三');
		map.set('pwd',31231);
		alert(map.get('name'));
		var map = new Map();
		map.set('name','张三');//添加
		map.set('pwd',31231);//添加
		map.has('name');//判断是否存在
		map.delete('name');//删除
		console.log(map.get('name'));//获取

有道云笔记持续更新中:http://note.youdao.com/noteshare?id=58fdee87544c610607d6d6168b28b747&sub=2EBDE6B724EB46DCBBBD3EE8AE01F8F7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值