批改状态:合格
老师批语:完成了
浮点数值:必须包含一个小数点,且小数点后必须有一位数字
整数:没有小数点的数值
NaN即非数值(Not a Number),是一个特殊的数值;
isNaN() 接收一个参数,该函数会帮我们确定这个参数是否‘非数值’,是返回true,不是返回false
数值转换:
number():用于任何数据类型
var num1 = Number("hello world");console.log(num1);//NaNvar num2 = Number("");console.log(num2);//0var num3 = Number("000011");console.log(num3);// 11var num4 = Number(true);console.log(num4);//1
parseInt()和parseFloat() 专门把字符串转成数值
var num5 = parseInt('1234blue');console.log(num5);//1234var num6 = parseInt('');console.log(num6);//NaNvar num7 = parseInt('0xA');console.log(num7);//10
var num9 = parseFloat('1234blue');console.log(num9);//1234var num10 = parseFloat('0xA');console.log(num10);//0
parseFloat(): 只解析十进制值
stringl类型:由0或多个16位Unicode字符串组成的字符序列,即字符串,可由单引号和双引号表示;
toString():将数值转成字符串。
在不知道要转换的值是不是null和underfined的情况下,可以使用String()方法。该函数可以将任何类型的值转成字符串。
var str = "zifuchuan";console.log(typeof str);//返回stringvar num = 10;alert(num.toString()); //"10"var value1 = 10;alert(String(value1));//"10"
布尔值:返回true,false
将一个值转换成Boolean值,可以调用转换函数Boolean();
返回的是true还是false ,其规则如下:
| 数据类型 | true | false |
|---|---|---|
| Boolean | true | false |
| String | 非空字符串 | “ “(空字符串) |
| Number | 非零数字 | 0 和NaN |
| Object | 非空对象 | null |
| Underfined | N/A(不适用) | underfined |
var bu = false;console.log(typeof false);//falsevar fl = Boolean("hello");console.log(f1);//true
null值为空,null值表示一个空对象指针;
如果定义一个变量用于保存一个对象,那么最好将这个变量的值初始化为null,这样只要检查null值就可以知道变量是否保存了一个对象的引用
var nu = null;//返回一个空对象console.log(typeof null);
//undefined 未定义var un = undefined;//返回undefinedconsole.log(typeof un);//undefined的值等于null,但类型不同//返回trueconsole.log(null == undefined);//返回falseconsole.log(null === undefined);
//数组var fruits = ["watermelon", "apple", "orange", "peach", "pear"];//拿到所有元素console.log(fruits);//访问索引console.log(fruits[1]);//数组元素个数console.log(fruits.length);//typeof只能判断数组是不是对象类型,不能确定它是一个数组console.log(typeof fruits);//判断数组的正确方式,返回布尔值console.log(Array.isArray(fruits));//遍历数组for (var i = 0; i < fruits.length; i++) {console.log(fruits[i]);}//forEach遍历fruits.forEach(function (item, key) {console.log("i:", key, "item", item);});//forEach第二种遍历方式fruits.forEach((item, key) => console.log("i:", key, "item:", item));//获取部分数组元素//slice()//语法:arrayObject.slice(start,end)/*start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。*//*end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。*/console.log(fruits.slice(0, 3));//如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。console.log(fruits.slice(0));//splice() 方法用于添加或删除数组中的元素。//语法:array.splice(index,howmany,item1,.....,itemX)/*index 必需。规定从何处添加/删除元素。该参数是开始插入和(或)删除的数组元素的下标,必须是数字。howmany 可选。规定应该删除多少元素。必须是数字,但可以是 "0"。如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。item1, ..., itemX 可选。要添加到数组的新元素*///返回值:被删除的元素组成的数组//删除操作console.log(fruits.splice(1, 2));//新增操作console.log(fruits.splice(1, 0, "果汁", "黄瓜"));console.log(fruits);//更新操作console.log(fruits.splice(1, 2, "猕猴桃", "甜瓜"));console.log(fruits);//对象:object//js中的数组 类似php索引数组//js中的对象 类似php关联数组var student = {id: 1,name: "admin",email: "admin@php.cn",course: [34, 88, 93],"my scroe": {php: 90,js: 80,css: 80,},};//访问对象用点连接 ,非法字符用[]来访问console.log(student.email);console.log(student.course[1]);console.log(student["my scroe"]);//遍历对象//for.......in.....for (key in student) {console.log(student[key]);}//Array.from(obj):将对象转为真正的数组//Object.keys()把对象所有属性放到一个数组中var keys = Object.keys(student);console.log(keys);keys.forEach(function (item) {console.log(this[item]);}, student);
//函数function f1(a, b) {console.log(a + b);}f1(100, 200);
//匿名函数var f2 = function (a, b) {console.log(a + b);};f2(20, 20);
//立即调用函数(function (a, b) {console.log(a + b);})(100, 100);//返回200-(function (a, b) {console.log(a + b);})(50, 100);//返回150~(function (a, b) {console.log(a + b);})(50, 100);//返回150(function () {if (true) {var a = 10;}})();console.log(a);//返回underfinedif (true) {var a = 10;}console.log(a);//返回10
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>流程控制</title></head><body><ul><li>item1</li><li>item2</li><li>item3</li></ul><ul><li>item1</li><li>item2</li><li>item3</li></ul></body></html>
//单分支var age = 49;if (age >= 50) console.log("不想奋斗了,累了");
//双分支if (age >= 50) console.log("不想奋斗了,累了");else console.log("再努力一把");
//多分支age = 38;if (age > 18 && age < 30) console.log("哥没车没房,约不约");else if (age >= 30 && age < 50) console.log("哥想有个家");else if (age >= 50) console.log("这是真爱");else console.log("姐才", age, ",认你当二叔吧");
//switchswitch (true) {case age > 18 && age < 30:console.log("不想奋斗了,累了");break;case age >= 30 && age < 50:console.log("哥想有个家");break;case age >= 50:console.log("这是真爱");break;default:console.log("姐才", age, ",认你当二叔吧");}
//for循环var lis = document.querySelectorAll("ul:first-of-type li");//forfor (var i = 0; i < lis.length; i++) {lis[i].style.backgroundColor = "blue";}
//while循环var lis2 = document.querySelectorAll("ul:last-of-type li");var k = 0;while (k < lis2.length) {lis2[k].style.backgroundColor = "red";k++;}
全称:(JavaScript Object Notation)js对象表示法
json是一种有条理,易于访问的存储信息的方法。它为我们提供了一个可读的数据集合,我们可以通过合理的方式来访问这些数据。
json支持三种数据类型:简单值、对象、数组
不支持undefined
var person = {name: "Peter Zhu",age: 26,isMarried: true,course: {name: "javascript",grade: 99,},getName: function () {return this.name;},hobby: undefined,toString: function () {return "继承属性";},};//将js对象转换为json格式的字符串var jsonStr = JSON.stringify(person);//传入第二个参数数组,对输出的结果进行限制jsonStr = JSON.stringify(person, ["name", "age"]);//如果第二个参数是一个回调,可以进行动态过滤jsonStr = JSON.stringify(person, function (key, value) {switch (key) {case "age":return "年龄不能随便问的";case "isMarried":return undefined;//必须要有default,才可以输出其它未处理的属性default:return value;}});console.log(jsonStr);

js常见的6种数据类型:数值、字符串、布尔值、null、undefined、对象
流程控制:
if…单分支
if…else…双分支
if…else if…else if…else…多分支
switch(true){//参数为true时代表范围,否则代表具体某个值
case:
…
break;
case:
…
break;
case:
…
break;
default:
…
}
for循环:for(var i = 0;i < 5;i++){…}
while循环:var i = 0; while(i < 5){… i++;}
JSON是一种有条理,易于访问的存储信息的方法
JSON.stringify(js对象):可以将对象转换成json格式的字符串,当第二个参数为数组时,表示静态过滤;第二个参数为回调函数时,表示动态过滤
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号