0
点赞
收藏
分享

微信扫一扫

JS--1.2

小暴龙要抱抱 2022-04-15 阅读 39
javascript

普通对象

/*

对象/引用数据类型:

+Object(普通对象)

+都西昂通俗理解就是再这里面把多个信息整合在一起

+用大括号包裹,里面是成对出现,俗称键值对(key value),如果要多对就是都好隔开

{"属性名":"属性值""}

+对象的属性名一般是字符串或者数字

*/

var zhangsan = {"age":20,sex:1,hobby:"睡觉",100:100}

var lisi = {age:20,sex:1,hobby:"睡觉",100:100}

/*

对象的增删改查

查:

1.对象.属性名

2.对象[“属性名”],一定要带引号,否则就死活变量

*/

var info = zhangsan.age;

console.log(zhangsan.age);

console.log(info);

//此时如果不带引号,age是变量

//lisi[age];

var info2 = lisi["age"];

console.log(info2);

//属性名如果是数字,不能用点语法

//console.log(shangsan.100);

console.log(zhangsan[100]);

/*

操作过程中遇到的问题:

1.为什么不能直接写

+属性名是可以字符串或者数字,但是属性值是任意的数据类型,如果不带引号,当成变量去识别,会报错,is not defined

2.如果查找一个不存在的属性名,结果是undefined

*/

//result 缩写res

/*

普通对象的新增和修改:

+如果属性名和属性值已经存在,那就是修改,如果没有就是新增

+如果添加的属性名不是字符串或者数字,那会转换成字符串

*/

/*普通对象的删除

+对象.属性名=null

+delete 对象.属性名

*/

var obj = {age :18,name :"wangwu"};

//obj.age=null; 假删除

delete obj .age ;//真删除

console.log(obj);

输出方式

console.log();

//详细输出

console.dir();

//弹框 会阻塞代码执行

//如果弹框的内容不是字符串,会转换为字符串

alert(111);

//提示框 如果点确定,就是true;如果点取消就是false

console.log(confirm("你想关闭提示框吗"));

//输入框 点确定,输入啥就是啥;点取消。就是null

console.log(prompt("你是boy还是girl"));

数据类型之间的转换

//Number():把其他数据类型转换为number类型

//number([])==>""==>0

//number([1])==>"1"==>1

//number([1,2,3])==>"1,2,3"==>NaN

//String():把其他数据类型转换为string类型

//只要是普通对象{},转换为字符串就是‘[object Object]’

/*

String([1,2,3])==>'1,2,3'

String([1])==>'1'

String([])==>''

*/

/*Boolean(): "" 0 null undefined NaN

*/

Boolean([]);true

Boolean([1]);true

Boolean([1,2]);true

Boolean({});true

Boolean({a:1});true

数据类型转换

/*

数据类型检测

+typeof

+instanceof

+constructor

*/

var res = typeof100;

var res2 = typeof"今天天气不错"

var res3 = typeoftrue;

var res4 = typeofnull;

var res5 = typeofunderfined;

var res6 = typeofSymbol();

var res7 = typeof10n;

var res8 = typeof {};

var res9 = typeof [];

/*typeof 有缺陷,

+不能识别出null

原因:计算机都是以二进制存储的,当存储的前三位是000的时候,就会被识别为对象,因为null全都是0

+不能细分对象

*/

console.log(res,res2,res3,res4,res5,res6,res7,res8,res9);//"数据类型" "number" "string"

/*

小意外

在控制台直接输出{}+1====>1

+如果在控制台直接这么输出的话,会把{}看成一个代码块,{}+1==>+1==>1

在文档里面输出{}+1====>"[object Object]1"

在文档里面输出{}+1====>"[object Object]1"

*/

特殊对象之数组

/*特殊对象,数组

+数组里面可以放任意数据类型的元素

+属性名是:从左往右,从0开始依次递增,叫下标(索引)

+数组里面会默认有一个length属性,值是数组的长度

*/

var ary = [100,200,300,"zhangsan",{age:1}];

var res1 = ary[0];

var res2 = ary[ary.length-1];

console.log(ary);

//

var arr = [10,20,30];

console.log(arr[0],arr[1],arr[2]);//10,20,30

console.log(arr.length);//3

console.log(arr['length']);//3

console.log(arr[length]);//10

若有收获,就点个赞吧

举报

相关推荐

0 条评论