首页 >> js开发 >> jsJS访问对象两种方式区别解析js大全
jsJS访问对象两种方式区别解析js大全
发布时间: 2021年1月13日 | 浏览:
| 分类:js开发
可以使用下面两种方式访问对象的属性和方法1.对象名.属性名
对象名.方法名()2.对象名["属性名"]
对象名"方法名"
var obj = {
name : "小明",
age : 18,
say : function(){
console.log("我是"+this.name+"我"+this.age+"岁");
}
};
console.log(obj.name);
console.log(obj["name"]);
obj.say();
obj["say"]();
var obj = {
name : "小明",
age : 18,
say : function(){
console.log("我是"+this.name+"我"+this.age+"岁");
}
};
console.log(obj.name);
console.log(obj["name"]);
obj.say();
obj["say"]();对于已经存在的属性和方法,用.和用[]得到的结果一致、对于不存在(未定义)的属性和方法,用.会创建这个新的属性或方法,而用[]的方式访问不会创建新的属性或方法例如在用for-in遍历对象时
for(var x in obj){
console.log(x);
//输出obj中的属性名,方法名
console.log(obj.x);//想要用.的方法输出对应的属性和方法
结果是undefined,原因在于JS语言中.方法可以用来声明,声明对象属性的方式就是属性名.属性值
//这里实际先声明了obj的x属性,并且未初始化该属性,然后输出了该属性值,所以为undefined
}
for(var x in obj){
console.log(x);
//输出obj中的属性名,方法名
console.log(obj.x);//想要用.的方法输出对应的属性和方法
结果是undefined,原因在于JS语言中.方法可以用来声明,声明对象属性的方式就是属性名.属性值
//这里实际先声明了obj的x属性,并且未初始化该属性,然后输出了该属性值,所以为undefined
}利用[]方式只能访问和读取,不会定义新的属性
for(var x in obj){
console.log(x);
//输出obj中的属性名,方法名
console.log(obj[x]);//输出对应的属性值和方法,方法未调用所以输出的是方法的代码
}
for(var x in obj){
console.log(x);
//输出obj中的属性名,方法名
console.log(obj[x]);//输出对应的属性值和方法,方法未调用所以输出的是方法的代码
}以上就是本文的全部内容,希望对大家的学习有所帮助。
对象名.方法名()2.对象名["属性名"]
对象名"方法名"
var obj = {
name : "小明",
age : 18,
say : function(){
console.log("我是"+this.name+"我"+this.age+"岁");
}
};
console.log(obj.name);
console.log(obj["name"]);
obj.say();
obj["say"]();
var obj = {
name : "小明",
age : 18,
say : function(){
console.log("我是"+this.name+"我"+this.age+"岁");
}
};
console.log(obj.name);
console.log(obj["name"]);
obj.say();
obj["say"]();对于已经存在的属性和方法,用.和用[]得到的结果一致、对于不存在(未定义)的属性和方法,用.会创建这个新的属性或方法,而用[]的方式访问不会创建新的属性或方法例如在用for-in遍历对象时
for(var x in obj){
console.log(x);
//输出obj中的属性名,方法名
console.log(obj.x);//想要用.的方法输出对应的属性和方法
结果是undefined,原因在于JS语言中.方法可以用来声明,声明对象属性的方式就是属性名.属性值
//这里实际先声明了obj的x属性,并且未初始化该属性,然后输出了该属性值,所以为undefined
}
for(var x in obj){
console.log(x);
//输出obj中的属性名,方法名
console.log(obj.x);//想要用.的方法输出对应的属性和方法
结果是undefined,原因在于JS语言中.方法可以用来声明,声明对象属性的方式就是属性名.属性值
//这里实际先声明了obj的x属性,并且未初始化该属性,然后输出了该属性值,所以为undefined
}利用[]方式只能访问和读取,不会定义新的属性
for(var x in obj){
console.log(x);
//输出obj中的属性名,方法名
console.log(obj[x]);//输出对应的属性值和方法,方法未调用所以输出的是方法的代码
}
for(var x in obj){
console.log(x);
//输出obj中的属性名,方法名
console.log(obj[x]);//输出对应的属性值和方法,方法未调用所以输出的是方法的代码
}以上就是本文的全部内容,希望对大家的学习有所帮助。
相关文章:
- js详解Vue中的watch和computedjs大全
- jsnuxt 自定义 auth 中间件实现令牌的持久化操作js大全
- js全网小程序接口请求封装实例代码js大全
- jsvue router-link 默认a标签去除下划线的实现js大全
- jsVUE异步更新DOM - 用$nextTick解决DOM视图的问题js大全
- js微信小程序基于ColorUI构建皮皮虾短视频去水印组件js大全
- js解决element-ui的下拉框有值却无法选中的情况js大全
- js解决VueCil代理本地proxytable无效报错404的问题js大全
- js解决Element中el-date-picker组件不回填的情况js大全
- JavaScriptnuxt.js添加环境变量,区分项目打包环境操作