1.对象
一系列的属性和属性值的集合;键值对,键名 键值
选择器{
? ? ?属性:属性值;
? ? ?属性:属性值;
}
<script>
var obj1 = {
"ming":"小明",
"age" :"22",
"sex" : "男"
}
var obj2 = {
"ming":"小李",
"age" :"22",
"sex" : "男"
}
var obj3 = {
"ming":"小刘",
"age" :"22",
"sex" : "nv"
}
var arr = [obj1,obj2,obj3];
console.log(arr);
//查找对像键值的方式 []
console.log(obj1["ming"]);
//或者
var ming = "ming";
console.log(obj1[ming]);
</script>
?1.2.案例2
<script>
var obj = {
1:"a",
2:"b",
3:"c"
}
console.log(obj[1]);
</script>
2.数据类型转换
字符串-------------->数字
2.1parseInt(XX)取整,保留整数部分
<body>
<script>
var str = "111.111.111";
//parseInt(XX)取整,保留整数部分
console.log(parseInt(str) +2); //输出的值为113
console.log(typeof(parseInt(str)+2));
</script>
</body>
带英文字母的number转换
var str = "123.123abc";
//var str = "123abc456.123";
console.log(parseInt(str));
//小数部分和整数部分有abc,控制台给的值输出都为123
以不合法开头的整数部分取整
var str = "abc123.123";
console.log(parseInt(str));
//控制台给的输出的值为NaN
//NaN不是一个数字的类型,错误的的运算结果
2.2parseIFloat取浮点,保留整数部分的同时保留小数部分
// 取浮点 保留小数部分
// parseFloat(XXX)
var str = "111.111.111";
console.log(parseFloat(str));
//控制台输出的值为111.111,也是因为小数只有一个小数点,所以后面砍掉
//其余部分和和parseInt一样规则
2.3Number(XXX)
//Number(强制转换)
var str = "111.111"; //控制台输出结果111.111
var str = "111.111.111"; //控制台输出结果为NaN
console.log(Number(str));
//只要转换的值里面有不合法的部分直接转换成NaN
Number和parseInt的区别:
相同点:都是转换成数字类型
不同点:在进行转换的时候,如果开头是不合法的部分,转换成NaN
? ? ? ? ? ? ? ? 如果开头是合法数字部分, parseInt正常保留,直到遇到不合法的部分不要
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Number只要有不合法的部分,直接转换成NaN
2.4isNaN(XXX)
判断一个值 ?是不是 ?不是一个数字。ture,false;非数字返回ture,数字返回false
// isNaN判断之前,先使用Number尝试对其转换
// console.log(isNaN("abc")); //true
// console.log(isNaN("123abc")); //true
// console.log(isNaN("123")); //false
// console.log(isNaN("abc123")); //true
// console.log(isNaN("123.123")); //false
// console.log(isNaN("123.123.123")); //true
数字----------->字符串
3.语法:XXX.toString() ? ? ? ? ? ? ? ? String(XXX)?
3.1方法和属性
window.alert(); //方法
window.name = "aaa" //属性
3.2 ?XXX.toString和String(XXX)
var num = 123.123;
console.log(num.toString());
console.log(String(num));
//String()可以转换undefined和null,toString转换这两个值会报错
3.3数组转换成字符串
var arr = [1,2,3];
console.log(arr.toString());
console.log(arr.String().length); //控制台输出结果为字符串长度 5,就是有5个字符
3.4字符串转换成数组
xxx.split(符号)将当前的字符串以内部所书写的符号为分隔符 ,拆开成若干个字符串数组
//var str = "1-2-3";
var str = "1,2,3";
//转换成数组
//split(符号)
//console.log(str.split("-"));
console.log(str.split(","));
4.转换成布尔值Boolean(xxx)
ture 是非0 ,false是1
// console.log(Boolean(0)); false
// console.log(Boolean(1)); ture
// console.log(Boolean(2)); ture
// console.log(Boolean("a")); ture
// console.log(Boolean(null)); false
// console.log(Boolean(undefined)); false
// console.log(Boolean("")); false
// console.log(Boolean("空格")); ture
//空格占字符串的位置,算是一个字符串
5.非强制类型转换/隐式转换,运用运算符号进行转换
+,-,*,/,%
console.log(typeof("3" - 1));
console.log(1*"2");
console.log(1/"2");
console.log(3%"2");
// 余数,没除尽的数