Javascript 输入值将保存在哪里?

Javascript 输入值将保存在哪里?,javascript,html,html-input,Javascript,Html,Html Input,假设我们有以下HTML: 电话 存储在DOM元素对象的属性中。默认情况下,如果您写入: <input id="input_id" type="tel" required="" pattern="^\d{10}$"> 那就好像 <input id="input_id" type="tel" required="" pattern="^\d{10}$" value=""> 如果您在value中写入一些内容作为value=“123”,则value和defaul

假设我们有以下HTML:


电话

存储在DOM元素对象的属性中。默认情况下,如果您写入:

<input id="input_id" type="tel" required="" pattern="^\d{10}$"> 

那就好像

<input id="input_id" type="tel" required="" pattern="^\d{10}$" value="">

如果您在value中写入一些内容作为
value=“123”
,则value和default value属性会相应地更改


DOM元素的任何数据都存储在该选项卡的浏览器内存中,该选项卡由浏览器自行管理。因为Javascript只是内存的一部分,所以它以某种方式存储在内存中。所有操作的实际细节都隐藏在浏览器中,不同浏览器之间可能有所不同。

输入的值是其内部状态。它可能等于或不等于输入元素的value属性

控件的值是其内部状态。因此,它可能与用户的当前输入不匹配

例如,如果用户在需要数字的数字字段中输入单词“三”,则用户的输入将是字符串“三”,但控件的值将保持不变。或者,如果用户输入电子邮件地址“awesome@example.com(带前导空格)到电子邮件字段中,用户的输入将是字符串awesome@example.com“但浏览器的电子邮件字段UI可能会将其转换为值”awesome@example.com“(不带前导空格)

而输入的“value”属性仅表示其默认值:

value-content属性提供输入元素的默认值。添加、设置或删除值内容属性时,如果控件的脏值标志为false,则用户代理必须将元素的值设置为值内容属性的值(如果有),否则设置为空字符串,然后运行(如果有定义)

请记住,即使用户在输入中输入任何文本,它也不会更新输入的value属性。请尝试在下面的输入代码段中键入文本,注意value属性不会得到更新:

setInterval(函数(){
console.clear();
console.log(“属性:”,$(“输入”).attr(“值”);
log(“值:”,$(“输入”).val();
}, 1000);


它存储为DOM元素对象的一个属性,由浏览器处理。谢谢您的解释和一个很好的示例!举例说明很有帮助。