var x=document.getElementById("demo").value;这里为什么.value,这里这么写返回的不是空值吗?都没有设置value的值

var x=document.getElementById("demo").value;这里为什么.value,这里这么写返回的不是空值吗?都没有设置value的值

html>
<html>
    <head>
        <meta charset="utf-8">
        <title>判断输入的是不是数字title>
    head>
    <body>
        <h1>我的第一段javascripth1>
        <p>请输入数字,如果输入值不是数字,浏览器会弹出提示框p>
        <input id="demo" type="text">
        <script>
            function myFunction(){
                var x=document.getElementById("demo").value;
                //判断是否是数字,或者判断左右是否有空格
                if(isNaN(x)||x.replace(/(^\s*)|(\s*$)/g,"")==""){
                    alert("不是数字");
                // if(isNaN(x)||x.replace(/(^\s*)|(\s*$)/g,"")==""){
                //         alert("不是数字");
                }
            }
        script>
        <button type="button" onclick="myFunction()"">点击button>
    body>
html>

input 就是一个输入框呀,你输入值,对应的document.getElementById("demo").value就能获取到值,不输入的话默认是一个空的字符型 "",会提示不是数字

demo是个input,它的值是你鼠标键盘录入的,不需要设置啊
反过来说,如果demo的值是代码里设置好的,那还写个脚本判断个啥劲,为什么不同样写死在代码里