javascript - angular 属性和变量的问题
大家讲道理
大家讲道理 2017-04-11 10:47:57
[JavaScript讨论组]
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(1)
迷茫

^^,你真的来问这个了。好吧,正巧我有你问题的上下文,就再给你个类比好了:

//假设你的scope上有变量username
var scope = {
    username: 'Hanmeimei'
};

//现在要创建一个新的scope继承自上面那个scope
var childScope = Object.create(scope);

//这时我们检查两个scope里的username,会发现值是一样的,都是Hanmeimei
console.log(scope.username);//Hanmeimei
console.log(childScope.username);//Hanmeimei


//但是,你在childScope里对username做了改变
childScope.username = 'LiLei';

//这时再看两个scope中的username分别是什么?
console.log(scope.username);//Hanmeimei
console.log(childScope.username);//LiLei

OK,解释完直接在scope上赋值原始类型username,我们在看如果给他一个引用类型的user对象会怎么样?

var scope = {user: {username: 'Hanmeimei'}};

//现在要创建一个新的scope继承自上面那个scope
var childScope = Object.create(scope);

//这时我们检查两个scope里的user.username,会发现值是一样的,都是Hanmeimei
console.log(scope.user.username); //Hanmeimei
console.log(childScope.user.username); //Hanmeimei


//然后,你在childScope里对user.username做了改变
childScope.user.username = 'LiLei';

//这时再看两个scope中的username分别是什么?
console.log(scope.user.username); //LiLei
console.log(childScope.user.username); //LiLei

//都变成LiLei了,有木有

最后真心建议看文档,内容还是OK的

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号