#author("2022-05-18T15:05:11+08:00","default:Admin","Admin")
#author("2022-05-18T15:07:40+08:00","default:Admin","Admin")
[[Vue]]

&color(red){※前提条件:本文基于 Vue 2.0 创作};
#contents

#codeprettify{{
<div id="app">
    <p v-bind:title="obj">content</p>
</div>
......
var obj = {};
 
obj.toString = function () {
    return 'edited in toString!';
};
 
var vm = new Vue({
    el: '#app',
    data: {
        obj: obj
    }
});
}}

这里修改了 obj 的 toString 方法(但准确的说,这里不是修改,而是添加。一开始的 obj 对象上自身是没有 toString 方法的,它继承了 Object.prototype.toString,但这里我们执行 obj.toString = function..... 实际上是为它添加了一个 toString 方法,使得它执行的时候,不用再去调用继承自 Object 的方法),渲染结果如下:

#codeprettify{{
<div id="app">
    <p title="edited in toString!">content</p>
</div>
}}


防止 toString 方法自身被遍历出来

 Object.defineProperty(obj, 'toString', {'enumerable': false});



#hr();
コメント:
#comment_kcaptcha


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS