据我了解,一些数组方法可以通过使用 call方法。在回答这个问题时:
我遇到了一个意想不到的问题。我无法在字符串上使用 pop.apply()
而不会收到此错误;
"message": "Uncaught TypeError: Cannot delete property '39' of [object String]"
为什么会失败以及为什么只有某些数组方法有效?
let href = $('.anchor').prop('href');
Array.prototype.pop.call(href);
console.log(href);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="https://example.com/my-account/#example/" class="anchor">...</a>
最佳答案
并非所有数组方法都可以在数组上使用。那些尝试改变字符串的方法将不起作用。在 Javascript 中,字符串是不可变的。因此,push
、pop
、shift
、splice
等方法不起作用。
关于javascript - 为什么无法 Array.prototype.pop.call() 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55937040/