Is it possible to mock [removed] in JavaScript?

后端 未结 6 540
猫巷女王i
猫巷女王i 2020-12-14 07:39

document.cookie is like a string, but it is not a string. To quote the example from the Mozilla doc:

document.cookie = \"name=oeschger\";
docume         


        
6条回答
  •  隐瞒了意图╮
    2020-12-14 08:11

    You could create an object with a cookie setter and getter. Here is a very simple implementation:

    var mock = {
        value_: '', 
    
        get cookie() {
            return this.value_;
        },
    
        set cookie(value) {
            this.value_ += value + ';';
        }
    };
    

    Might not work in all browsers though (especially IE). Update: It only works in browsers supporting ECMAScript 5!

    More about getter and setters.

    mock.cookie = "name=oeschger";
    mock.cookie = "favorite_food=tripe";
    alert(mock.cookie);
    // displays: name=oeschger;favorite_food=tripe;
    

    DEMO

提交回复
热议问题