这篇文章主要介绍“js面向对象的应用场景有哪些”,在日常操作中,相信很多人在js面向对象的应用场景有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”js面向对象的应用场景有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1、值得赋值是独立的
num1=12; num1=num2
将存储值赋值一份存储.
2、引用类型的赋值共享数据
var age=22; age2=age; age=24 console.log(age);
age2依旧是22
引用类型的赋值共享数据
指向同一片内存
3、对象的赋值
var p={ name:"shizi", age:22, } p1=p; console.log(p.name,p.age); console.log(p1.name,p1.age); console.log("------------------------"); p.name="maotai"; p.age=24; console.log(p.name,p.age); console.log(p1.name,p1.age);
例一
var num = 10; function foo(num){ num=100; console.log(num); } console.log(num); #10
例二
var num = 10; function foo(num1){ //实参: 调用时传递的参数 //形参: 定义时传递的参数 num1=100; console.log(num1); } foo(num); console.log(num); # 10 100 10
例三
var num = 10; function foo(num1){ //实参: 调用时传递的参数 //形参: 定义时传递的参数 //var num1=num; num1=100; console.log(num1); } foo(num); console.log(num); # 10 100 10
var obj={ name:"宅男" } function jinhua(param){ param.name="高富帅"; } jinhua(obj); console.log(obj.name); #高富刷
var obj={ name:"宅男" } function jinhua(param){ param.name="高富帅"; //重新开辟内存,param重新指向一片mem param={ name: "腐女" } param.name="宅男"; } jinhua(obj); console.log(obj.name); #宅男
动态添加属性和方法
p={ name:"刘德华", age:22 } //添加属性方式1 p.gender="male"; //添加属性方式2 p["salary"]=2000; //添加对象类型属性 p.foo=function(){console.log("sing");} //访问属性方式1 console.log(p.foo()); console.log(p.salary); //访问属性方式2 console.log(p["name"];
p={ name:"刘德华", age:22 } p["salary"]=2000; //是字符串 console.log(p.salary);
p={ name:"刘德华", age:22 } p[0]=2000; //隐式将0转换为字符串 //console.log(p.0); //发现这种方式访问报错 console.log(p["0"]); //这种方式正常访问
以下等价
p={ name:"刘德华", age:22 } p[{}]="shizi"; console.log(p);
p={ name:"刘德华", age:22 } p["[object Object]"]="shizi"; console.log(p);
探究
a={} console.log(a.toString()); #"[object Object]"
删除对象的属性
删除未用var定义的变量.
delete返回布尔
删除不存在的属性,返回true
无法删除原形中的属性 如 delete obj.toString()
resu=delete obj.name; # resu返回值是true
var num1=100; console.log(num1); console.log(window.num1); # 100 100
num1=100; console.log(num1); console.log(window.num1); # 100 100
var num1=100; delete(num1); console.log(window.num1); # 100
num1=100; //未使用var,可被delete删除 delete(num1); console.log(window.num1); ## undefined
到此,关于“js面向对象的应用场景有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。