JavaScript 中的 var 、let 、const

总结一下,var是函数作用域的如果你想在实际声明之前用var声明一个变量,你会得到undefined。const和let的作用域是被阻塞的,如果您试图在声明之前使用let或const声明的变量,您将得到一个ReferenceError。最后,let和const之间的区别是,一旦您为const分配了一个值,您就不能重新分配它,但是使用let,您可以。
阅读全文

JavaScript 中的 Function.apply 和 Function.call

JavaScript中的每个函数都有许多附加的方法,包括toString()、call()和apply()。如果您觉得函数怎么可能有自己的方法,这听起来很奇怪,但是请记住,JavaScript中的每个函数都是一个对象。您可能还想知道函数和方法之间的区别。我相信描述符的函数和方法只是一个JavaScript约定。函数是独立的(例如,有一个alert()函数),而方法在对象的字典中是函数,我们通过对象引用调用它们。例如,每个JavaScript对象都有一个toString()方法,我们可以在函数对象上使用toString()方法来查看它的源代码
阅读全文

JavaScript 中的 Hoisting 机制

JavaScript 中的 Hoisting 一般称之为变量声明提升机制。就是说,JavaScript 引擎在执行的时候,会把所有变量的声明都会被提升到当前作用域的最前面,注意,这里被提升的仅仅是声明。怎么理解呢,看下面例子:
阅读全文

JavaScript 的原型对象 Prototype

当您在JavaScript中定义函数时,它会附带一些预定义的属性; 其中之一是虚幻的原型。 在本文中,我将详细说明它是什么,以及为什么要在项目中使用它。原型对象 prototype最初是一个空对象,可以添加成员 - 就??像其他对象一样。上面的代码创建了一个函数,然后赋值给 myObject。如果我调用 myObject(),它将返回 window 对象。因为它是在全局作用域内定义的,而且它还没有被实例化,所以 this 直接指向全局对象:
阅读全文

函数声明 VS 函数表达式

方法一和方法二都创建了一个函数,且命名为 foo,但是二者还是有区别的。JavaScript 解释器中存在一种变量声明被提升(hoisting)的机制,也就是说变量(函数)的声明会被提升到作用域的最前面,即使写代码的时候是写在最后面,也还是会被提升至最前面。
阅读全文

Form表单中回车后自动提交问题解决方案

我们有时候希望回车键敲在文本框(input element)里来提交表单(form),但有时候又不希望如此。比如搜索行为,希望输入完关键词之后直接按回车键立即提交表单,而有些复杂表单,可能要避免回车键误操作在未完成表单填写的时候就触发了表单提交。
阅读全文

关于scrollHeight和scrollTop取值为0的问题

obj.offsetTop 指 obj 距离上方或上层控件的位置,整型,单位像素。obj.offsetLeft 指 obj 距离左方或上层控件的位置,整型,单位像素。 obj.offsetWidth 指 obj 控件自身的宽度,整型,单位像素。 obj.offsetHeight 指 obj 控件自身的高度,整型,单位像素。(clientHeight + 滚动条 + 边框) obj.scrollHeight 网页内容的高度,最小值是clientHeight。
阅读全文
本文目录
    Loading...