相关疑难解决方法(0)

Javascript中冻结和密封的区别

我刚刚听说的JavaScript方法freezeseal,可以用来进行任何对象不变.

这是一个如何使用它的简短示例:

var o1 = {}, o2 = {};
Object.freeze(o2);

o1["a"] = "worked";
o2["a"] = "worked";

alert(o1["a"]);   //prints "worked"
alert(o2["a"]);   //prints "undefined"
Run Code Online (Sandbox Code Playgroud)

这些方法有什么区别,它们能提高性能吗?

javascript ecmascript-5

146
推荐指数
6
解决办法
3万
查看次数

什么是不可改变的意思?

如果字符串是不可变的,那是否意味着....(让我们假设JavaScript)

var str = 'foo';

alert(str.substr(1)); // oo

alert(str); // foo
Run Code Online (Sandbox Code Playgroud)

这是否意味着,当在字符串上调用方法时,它将返回修改后的字符串,但它不会更改初始字符串?

如果字符串是可变的,这是否意味着第二个alert()也会返回oo

javascript variables immutability

103
推荐指数
4
解决办法
4万
查看次数

JavaScript toUpperCase不起作用.为什么?

我正在做一个简单的功能.将所有单词首字母大写为大写,但它根本不起作用,既不显示任何错误:

function formatTitle(input) {
  var words = input.split(' ');
  for (var i = 0; i < words.length; i++) {
    words[i][0] = words[i][0].toUpperCase();
  };
  return words.join(' ');
};

var newTitle = formatTitle("all words first-letter should be upper case");

document.write(newTitle);
Run Code Online (Sandbox Code Playgroud)

提前致谢.

javascript

4
推荐指数
2
解决办法
299
查看次数

JavaScript中的不可变值

我目前正在JavaScript的学习过程中,真的对不可变值感到困惑。据我了解,当创建一个值(stings / numbers / booleans)时,就永远无法更改它。

现在我的问题是,我分配值的变量,该变量的值是可变的。我可以为该变量分配新值。那么为什么不变性很重要?

另外,当我为变量分配新值时,以前的值会怎样?它会保留在内存中并阻塞一些空间吗?它是否失去了该变量的指针?究竟会发生什么?

请帮助我了解JavaScript中“可变”和“不可变”概念的实际用法。提前致谢。

javascript variables mutable immutability

2
推荐指数
1
解决办法
1599
查看次数

JS - 在原型函数中覆盖它

我想在Number原型函数中覆盖并动态更改变量的值,例如:

Number.prototype.xd = function(){
  this = 11212;
}
var a = 171717;
console.log(a);
a.xd();
console.log(a);
Run Code Online (Sandbox Code Playgroud)

是我想要的,但它会引发错误.通过这种方式工作Array.prototype.pop方法:

fruits = ["a","b","c","d"];
console.log(fruits);
fruits.pop();
console.log(fruits);
Run Code Online (Sandbox Code Playgroud)

我可以这样做吗?

javascript

1
推荐指数
1
解决办法
96
查看次数