如何在没有赋值的情况下声明 const 但在函数中赋值
How to declare const without an assignment but assign in a function
我需要在全局范围内声明 const $element
(一个指向 HTML
元素的变量),以便任何函数都可以访问它。但是 $element
是由 jQuery
分配的,这需要在 $(function(){})
内部分配变量。如何满足这两个条件?
const $element; // error caused by no assignment but $ is not ready
$(function(){
const $element = $("#SomeDiv"); //cannot assign here
DivResize(100);
});
function DivResize(h){
$element.css("height", h) //need to call $element from global scope
}
解决方案一:
使用 let
代替 const
。
解决方案 2:稍微重构一下代码
你真的需要 DivResize()
函数是全局的吗?
是:
使函数接受 $element 作为参数。
$(function(){
const $element = $("#SomeDiv");
DivResize($element, 100);
});
function DivResize($element, h){
$element.css("height", h);
}
否:
将函数移动到 jQuery 回调中。
$(function(){
function DivResize(h){
$element.css("height", h);
}
// ...
const $element = $("#SomeDiv");
DivResize(100);
});
我需要在全局范围内声明 const $element
(一个指向 HTML
元素的变量),以便任何函数都可以访问它。但是 $element
是由 jQuery
分配的,这需要在 $(function(){})
内部分配变量。如何满足这两个条件?
const $element; // error caused by no assignment but $ is not ready
$(function(){
const $element = $("#SomeDiv"); //cannot assign here
DivResize(100);
});
function DivResize(h){
$element.css("height", h) //need to call $element from global scope
}
解决方案一:
使用 let
代替 const
。
解决方案 2:稍微重构一下代码
你真的需要 DivResize()
函数是全局的吗?
是: 使函数接受 $element 作为参数。
$(function(){
const $element = $("#SomeDiv");
DivResize($element, 100);
});
function DivResize($element, h){
$element.css("height", h);
}
否: 将函数移动到 jQuery 回调中。
$(function(){
function DivResize(h){
$element.css("height", h);
}
// ...
const $element = $("#SomeDiv");
DivResize(100);
});