误解了输入文本值属性函数的正确使用
Misunderstanding the proper use of Input Text value Property function
我正在通过Javascript进行一个小的学习练习,该练习获取文本区域中文本的值,并按照正则表达式的指示将单引号替换为双引号。 我感到困惑的是为什么我不能/不/不应该在传递给 replaceQuote() 函数的参数中包含"value"属性。
在下面的代码中,我传递了document.form1.textarea1,一切运行良好。 如果我修改函数以将参数传递为 document.form1.textarea1.value,则代码不起作用。
我的问题是,我对价值财产及其运作方式的明显误解是什么。 我很确定这是非常基本的东西,我太迟钝而无法"得到"
此版本的函数有效
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
function replaceQuote(textarea) {
var myText = textarea.value;
var myRegExp = /'B'|''B/g;
myText = myText.replace(myRegExp,'"')
textarea.value = myText;
}
</script>
</head>
<body>
<form name = "form1">
<textarea rows="20" cols="40" name="textarea1">
'Hello World' said Mr O'Connerly.
He then said 'My Name is O'Connerly, yes that's right, O'Connerly'.
</textarea>
<input type="button" value="replace single quote" onclick="replaceQuote(document.form1.textarea1)">
</form>
</body>
</html>
此版本的函数不起作用。 函数被修改为接受替换引用(document.form1.textarea1.value)
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
function replaceQuote(textarea) {
var myText = textarea;
var myRegExp = /'B'|''B/g;
myText = myText.replace(myRegExp,'"')
textarea = myText;
}
</script>
</head>
<body>
<form name = "form1">
<textarea rows="20" cols="40" name="textarea1">
'Hello World' said Mr O'Connerly.
He then said 'My Name is O'Connerly, yes that's right, O'Connerly'.
</textarea>
<input type="button" value="replace single quote" onclick="replaceQuote(document.form1.textarea1.value)">
</form>
</body>
</html>
在第一个版本中,传入对实际textarea
对象的引用。 这意味着您可以读取和写入textarea
的 .value
属性。
在第二个版本中,只传入 .value
属性的值 - 即文本区域的实际内容。 在函数中,它只是一个包含文本的局部变量,因此为其分配myText
在函数之外没有任何效果。
代码的第二个版本不起作用的原因是因为在replaceQuotes
函数中编写时
textarea = myText;
textarea
是一个局部变量,具有文本区域中文本的值。
相关文章:
- 从嵌套函数访问函数属性
- Javascript嵌套函数属性继承
- Javascript-在全局作用域中调用本地函数/属性
- 正在重置原型对象的构造函数属性
- javascript函数属性设置器中的延迟
- jQuery插件返回this.each并为每个对象添加函数属性
- 从函数属性访问对象属性;不适用于Firefox
- 当使用“”创建时保留函数属性;绑定”;
- 在多个(html)元素上循环执行相同的JavaScript函数属性更改
- 如何将新的构造函数属性推送到数组
- 通过构造函数属性和运算符实例设置继承
- 角度表达式无法使用构造函数属性分辨变量类型
- 为什么要在函数定义之外引用静态变量(函数属性)
- Javascript“构造函数”属性中的错误 - IE 8
- 为什么浏览器支持对象的隐式函数属性
- 构造函数属性值应该是什么 .a 原型构造函数或对象构造函数本身
- 使用模块模式调用函数属性
- React 组件流类型检查中的可选函数属性失败
- 是否可以在 javascript 中的对象文字上定义函数属性
- JavaScript:如何捕获对象的任何缺失函数/属性