循环
- For循环:多次遍历代码块
// 语法
for (语句 1; 语句 2; 语句 3) {
//要执行的代码块
}
//示例
for(var i = 1; i < 10; i++){
console.log(i);
}
//示例
var i = 0;
var len = cars.length;
for (; i < len; ) {
text += cars[i] + "<br>";
i++;
}
- For in:遍历对象属性
//语法
for (key in object) {
// code block to be executed
}
- while循环:当指定条件为true时循环一段代码块
// 语法
while(条件){
//执行语句
}
//实例
while(var i <= 10){
console.log(i);
i++;
}
- do…while循环:当指定条件为true时循环一段代码块
先执行再进行条件判断
//语法
do{
//执行语句
}while(条件)
- break和continue
break:跳出当前循环或者结束当前循环
- 只能在循环体内,以及switch内使用
- 循环体中遇到break,会即刻停止执行该循环,去执行该循环之后的代码
- 若是在多重循环中,或者嵌套有switch语句体,无法直接跳出多重循环。(跳出多重循环的方法在下方)
continue:语句跳过循环中的一个迭代 - 用于跳过本次循环体中剩下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为只是中止(跳过)本次循环,接着开始下一次循环
- continue并不是停止整个循环。而是跳过本次循环,放弃本次循环中尚未执行的代码,直接执行下一次循环。
引用值初识
引用类型:array,object,function,date,RegExp
- array数组:数组用于在单一变量中存储多个值
//语法
var array-name = [item1, item2, ...];
var arr = [1, 2, 3, 4, 5, 6];
//访问数值
console.log(arr[3]);
//修改数值
arr[3] = null;
console.log(arr[3]);
//遍历数组
var arr = ['a', 'text', 'last'];
for(var i = 0; i <= arr.length; i++){
console.log(arr[i]);
}
- 把数组转换为字符串toString
var fruits = ['Banana', 'Orange', 'Apple'];
console.log(fruits.toString());
- join()方法将数组转为字符串并用指定的分隔符分开
var fruits = ['Banana', 'Orange', 'Apple'];
console.log(fruits.join("-"));
- pop()方法从数组中删除最后一个元素
var arr = ['张三', '李四', '王五', '赵六', 'Camile'];
arr.pop();
console.log(arr);
- 添加数组元素push()
var arr = ['张三', '李四', '王五', '赵六', 'Camile'];
arr.push('Lly');
console.log(arr);
- shift()删除数组中第一个元素
var arr = ['张三', '李四', '王五', '赵六', 'Camile'];
arr.shift();
console.log(arr);
- unshift()在数组元素的开头添加新元素
var arr = ['张三', '李四', '王五', '赵六', 'Camile'];
arr.unshift('Lly');
console.log(arr);
- sort()以字母顺序对数组进行排序
var arr = [23, 34, 5, 45, 34, 90];
arr.sort();
console.log(arr);
- reverse()反转数组
var arr = ['I', 'love', 'beijing'];
arr.reverse();
console.log(arr);
- Object对象
var person = {
key: value;
}
//对象以键值对的形式出现
- typeof
typeof("John") // 返回 string
typeof(3.14) // 返回 number
typeof(false) // 返回 boolean
typeof([1,2,3,4]) // 返回 object
typeof({name:'John', age:34}) // 返回 object
console.log(typeof(null)); //返回object
console.log(typeof(typeof(a))) //string,typeof(undefined)是字符串
- function()函数
函数时被设计为执行特定任务的代码块,函数在被调用时他会执行。
//语法
function fn(参数1,参数2){
//执行的代码
}
//实例
function firstFunction(a,b){
return a + b;
}
console.log(firstFunction(56,98));
调用:函数在定义时不会被执行,只有在调用时才会执行
function firstFunction(a, b){
return a*b;
}
console.log(firstFunction(10, 2)); //返回20
- date()日期
var date = new Date() //用当前的日期和时间创建新的日期对象
- RegExp:正则表达式
//语法
var patt = new RegExp(pattern, modifiers);
var patt = /pattern/modifiers;
显示及隐式类型转换
- 显示类型转换:告知你要进行类型转换了;
console.log(Number(123));
parseInt()函数可解析一个字符串,并返回一个整数。
console.log(parseInt('123abc')); //123
console.log(parseInt('abc123')); //NaN
parseFloat()函数可解析一个字符串,并返回一个浮点数。
var num = parseFloat('3.1415926');
console.log(num.toFixed(2)); //四舍五入
- 隐式类型转换:不告知你要进行类型转换;
var a = '123';
a++;
console.log(a); //124
遇到*,/,%,-都会存在一个隐式转换,string->number
var a = 'a' > 'b';
// < > >= <=转为ASCII
console.log(a);
var a = 1 != '2';
console.log(a); //true
console.log(undefined == null); //true
isNaN(非数):判断它是不是NaN
console.log(isNaN(123)); //false
console.log(isNaN('a')); //true