ReferenceError:分配的左侧不是参考

时间:2019-06-03 12:04:57

标签: javascript jquery

我遇到一些参考错误:

  

作业的左侧不是参考。

我想用该代码只在这些regexNounFilters中输入textarea。

$ kubectl delete cm  spacestudychart.v1 -n kube-system

2 个答案:

答案 0 :(得分:1)

您正在尝试分配给此处调用函数的结果:

function onInput({target}) {
  target.val() = extractNouns(target.val()).join('\n');
// -----^^^^^^^^^
  console.log(target.val());
}

您不能那样做。要设置输入的值,请将值传递到val函数中:

  target.val(extractNouns(target.val()).join('\n'));

请注意,您正在该函数的参数列表中使用destructuring

function onInput({target}) {
// --------------^------^

这将尝试从传入的内容中选择一个target属性,并为您提供该属性的值而不是传入的内容。根据您的调用方式,您不想使用在那里破坏:

function onInput(target) {

答案 1 :(得分:0)

问题在这里:

target.val() = extractNouns(target.val()).join('\n')

您不能分配给函数调用的结果。

您可能希望该行为:

target.val(extractNouns(target.val()).join('\n'))

有关更多信息,请参见jQuery val() documentation


另一个问题

您正在传递已更改的元素,但随后通过解构访问该属性的target属性。

$('#toFile').on('keypress', function() {
    onInput($('#toFile')) // <- passing the element here
})

function onInput({target}) { // <- destructuring that element to get the target
    target.val(extractNouns(target.val()).join('\n'))
    console.log(target.val())
}

您要么想要:

$('#toFile').on('keypress', function() {
    onInput($('#toFile')) // <- passing the element here
})

function onInput(target) { // <- directly accessing it
    target.val(extractNouns(target.val()).join('\n'))
    console.log(target.val())
}

$('#toFile').on('keypress', function(e) {
    onInput(e) // <- passing the error args here
})

function onInput({target}) { // <- destructuring to get the target
    target.val(extractNouns(target.val()).join('\n'))
    console.log(target.val())
}