四、条件语句补充
1、switch case 条件判断语句
var n = 2;
switch (n) { 条件
case 1: 条件判断
console.log("a"); 执行
break; 防止执行后带出后面内容
case 2:
console.log("b");
break;
case 3:
console.log("c");
break;
}
例:
var data = window.prompt('input');
switch(data){
case "周一":
case "周二":
case "周三":
case "周四":
case "周五":
console.log('working');
break;
case "周六":
case:"周日":
console.log('relaxing');
break;
}
2、break 终止循环 必须放在循环内
var i = 0;
var sum = 0;
for (var i = 0; i < 100; i++) {
sum += i;
console.log(i);
if (sum > 100) {
break;
}
}
3、continue 终止本次循环 继续下一次循环
如:不显示7的倍数及带7的数字
for (var i = 0; i < 100; i++){
if(i % 7 ==0 || 1 % 10 == 7 ){
continue;
}
console.log(i);
}
五:引用值
1、数组:arr
arr[0] 数组里的第一位
arr.length; 数组的长度
arr[1] = 2; 把数组第二位的值变成2 给arr赋值可改变它原本的值
var arr =[a,1,2,4,f,"abc"];
for(var i= 0; i < arr.length; i ++){
arr[i] = 1; 数组里所有值都变成1
}
2、对象:存储数据的仓库 存放属性名 属性值
var object = {
name : "pp",
age : 20,
sea : undefined
}
object.name = "old pp"; 赋值
console.log(object.name);
六、编程形式的区别
js既面向过程 又面向对象
1、面向过程
2、面向对象
七、typeof
1、数据类型:
number 数字类型
string 字符串类型
boolean 布尔值
object 对象 泛泛指引用值 null返回也是object
undefined undefined
function 函数
两种写法:
console.log(typeof(num));
console.log(typeof num);
八、类型转换:
1、显示类型转换
(1).Number 转换成数字类型
var demo = "123";
var num = Number(demo);
console.log(typeof(num) + ":" + num);
------------
undefined 不能被转换成数字类型 转换结果为NaN
true false null 可以转换成数字类型
------------
(2)、parseInt 转换成整形的数 整数 直接将小数后面的数去掉
var demo = "10";
var num = parseInt(demo,16);
-----16意为把10当成16进制的数 转换成10进制
(radix 2- 36 以radix为基底,转换成目标进制)
console.log(typeof(num) + ":" + num);
------------
true false null undefined 不能被转换成数字类型 转换结果为NaN
parseInt 返回值从数字位开始 非数字位结束 如123abc 可以返回123
------------
(3)、parseFloat 转换成浮点的数 正常的数 可显示小数
------------
返回值从数字位开始 非数字位结束
------------
(4)、string 转换成字符串
(5)、boolean 转换成布尔值
(6)、toString
格式:
var demo = "123";
var num = demo.toString();
console.log(typeof(num) + ":" + num);
var demo = 123;
var num = demo.toString(radix); //此处的radix是将十进制转换成radix目标进制
console.log(typeof(num) + ":" + num);
--------
undefined null 不能使用tostring
--------
2、隐式类型转换
(1)isNaN(); 填到括号,判断是不是NaN,返回
内部:先把括号里的值放到Number里进行转换,调用结果
console.log(isNaN(NaN)); true
console.log(isNaN(123)); false
console.log(isNaN("abc")); true
console.log(isNaN(null)); false
(2)++ -- + - 一元正负
var a = "123";
a++; ++ -- 先number转换成数字
var a = +"abc"; 正负 调用number转换成数字
(3) + 当加号两侧有一个是字符串 会调用string将两侧都转化成字符串
(4)- * / % 调用number转换成数字
(5)&& || !
! 调用boolean 取反
&& || 调用boolean
(6) < >
有数字类型,优先会转换成数字
2 > 3 < 1 true
NaN == NaN false
(7) == != 发生类型转换
(8) 绝对等于 ===
绝对不等于 !===
扩展:
未定义变量放到typeof里不报错,返回undefined
console.log(typeof(typeof(a))); 返回string
相当于console.log(typeof("undefined"));
alert 弹出框