javascript - Adakah kaedah _extend digunakan untuk melintasi sifat objek Bagaimana untuk memahami dua parameter?
世界只因有你
世界只因有你 2017-05-18 11:01:02
0
1
483

Bolehkah sesiapa menjelaskan:
Mengapa _extend muncul dua kali Apakah maksud kaedah lalai? ?
Kali pertama ialah Base.prototype._extend.
Terutama kali kedua, apakah yang diwakili oleh destinasi dan sumber?

 _extend = function self(destination, source) {
     ......
 }

Berikut ialah bahagian kod yang mengelirukan saya:

define(function(){
var Base = function(){};
Base.prototype._extend = function(dest, src){
    var _complete,
    _extend,
    _isObject;
    _isObject = function(o){
        return (Object.prototype.toString.call(o) === '[object Object]' || Object.prototype.toString.call(o) === '[object Array]');
    },
    _extend = function self(destination, source) {
        var property;
        for (property in destination) {
            if (destination.hasOwnProperty(property)) {
                if (_isObject(destination[property]) && _isObject(source[property])) {
                    self(destination[property], source[property]);
                };

                if (source.hasOwnProperty(property)) {
                    continue;
                } else {
                    source[property] = destination[property];
                }
            }
        }
    }
    //省略部分代码...
    }})
世界只因有你
世界只因有你

membalas semua(1)
刘奇

_extend Yang pertama ialah pengisytiharan berubah, dan yang kedua ialah penugasan berubah.

Fungsinya adalah untuk melintasi pembolehubah destinasi dan menyalin atribut dalamannya ke sumber Jika atribut itu sudah wujud pada sumber, ia tidak akan disalin.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan