js运行机制以及如何动态获取input的值

JavaScript016

js运行机制以及如何动态获取input的值,第1张

最近在写一个手机APP,其中一个页面中onload加载的是一个函数A,经过这个函数处理,页面中的Input的value值会被  赋值,此时,函数B是一个定时函数,他需要获取这个input 的value值,然后定时执行,来更新这个input的value值。

当时学js的时候,没太注意js的程序加载顺序。现在无论如何也拿不到Input的value值,不管怎么写,都是空。由此也引出了如下的知识

1.js是单线程的,他的加载分成两部分,第一个部分是预处理,主要是操作声明式函数,就是function aaa(){} 这类和变量,虽然说处理,也只是拿出来,并没有赋值,赋值是第二阶段运行的。

2.如果要实现上述我们的目标,就需要,使用赋值式函数,即 var f=function(){} 这样操作,会被js拿到,然后处理。

3.要获得Input value的值,这个获取,不能写在函数外,需要写在函数内。因为写在外面,只会加载input的value原值,就是空值。写在里面,就走到了执行阶段。有了执行,就能够获取

JS是解释执行的,即读取一个语句就执行一个。以前的严格JS是以分号为语句的分隔符,但现在一些浏览器已经接受以换行符为分隔符(似乎是很多人喜欢用基于对象的编程了,而在JS中写对象的函数是需要加分号的,所以很多人都爱忘)。

JS本身只提供语法解析与少部分内部函数支持,其他的均由宿主支持。比如在网页JS中的window, document, navigator等对象,均是由浏览器提供基于其它语言的代码,这些代码通常被隐藏,但很大程度上决定了JS的运行效率。如果你有兴趣,打开Chrome,按F12,调处Console,然后输alert(注意没有()),你就会发现[native code]这个东西。