我只是想知道这两者有什么区别
File1.js
$(function()
{
function MyFunction()
{
// some code here
}
});
File2.js
$(function()
{
// call it.
MyFunction();
});
File1.js
function MyFunction()
{
// some code here
}
File2.js
$(function()
{
// call it.
MyFunction();
下面是一个名为index.js的文件
// index.js
let a = 1;
function foo(name) {
let b = 2;
}
如果我运行它,我知道a和foo在解析阶段被附加到全局作用域中。但是现在我没有运行foo函数,foo的函数作用域是在解析的时候决定的吗?如果确定了,name和b放在哪里?
实际上,当我读到“你还不知道JS --作用域和闭包”时,我被这个问题给困住了。这里是161行和171行之间的。此时不会执行getStudentName,但作用域管理器会找到studentID。getStudenName喜欢index.js中的函数foo,studentID
由于我现在已经开始学习js,所以我对javascipt很陌生,我对var非常困惑,据说它是函数作用域和块作用域;
如果是,那么我们如何在该功能之外访问它们!?假设我想从另一个类中使用它(我不知道可能通过创建某个对象或其他什么方法)(我想我们不能在这里创建对象!)因为它是一种基于函数式编程的语言,所以我猜!:()
var y = "global";
if (y === "global") {
var y = "block-scoped";
console.log(y); // expected output: block-scoped
}
我知道'js‘中的函数有词法作用域(即函数在定义时创建其环境(作用域),而不是在执行时创建)。
function f1() {
var a = 1;
f2();
}
function f2() {
return a;
}
f1(); // a is not defined
当我运行'f()‘时,它会返回内部函数。我明白了,这就是'return‘的作用!
function f() {
var b = "barb";
return function() {
return b;
}
}
cons
我不明白这一点--在if条件中定义的var怎么能在该条件之外使用?
示例JS:
if (1===2) {
var myVar = "I live in brackets";
}
$("#debug").append("myVar = " + myVar);
$("#debug").append("but I'm about to throw a 'not defined' exception right... now " + firstAppearanceVar);
渲染:myVar =
我目前正在学习关于useReducer的react。我正在尝试制作一个配方盒,里面有成分,尺寸和数量,你可以通过在文本输入框中输入来改变它们。但是每当我尝试打字时,整个列表就消失了,我就会得到这个错误。
react-dom.js:9
TypeError: Cannot read properties of undefined (reading 'ingredients')
at App (pen.js:63:26)
at Bi (react-dom.js:7:19481)
at ei (react-dom.js:9:31
我正在尝试使用,特别是Modal插件。我的应用程序文件夹是这样构造的:
app
scheda
scheda.html
schedacontroller.js
- app.js
css
..。
index.html
这是app.js,主要应用程序文件:
// created the module GasistaFelice
// also included ngRoute for all our routing needs
angular.module('ngGasistaFelice', [])
.run(f
General:在node.js中,如何访问正在执行的文件的作用域?
例如:我有一个模块(mod.js)和一个需要它的文件(main.js)。在mod.js中,我需要执行eval()以访问main.js的作用域,如下所示:
mod.js:
exports.runCode = function(code) {
var x = 1;
// do some stuff to x and code
return eval(code) + x;
}
main.js:
var amod = require('./mod');
var func = function(a,b)
如果我通过了从模块A到模块B的“测试”功能,为什么:
//A.js
import B from './B'
export default {
self: this,
test: ()=> {
console.log(self === this) // this should return true but doesn't because when B calls it, "this" is B
},
initA:function() {
B.initB(this.test); //
我有两个.js文件: root.js和external.js
root.js
import myExternalFunction from 'external.js'
class Parent {
constructor(){}
parentFunction = () => {
console.log('I was called from an external function using "this."')
}
}
external.js
export default myExternalFun
我正在尝试学习JS,关于javascript闭包,我有一个问题-
function fooOuter(){
var a = 10;
var b = 20;
return function fooinner(x){
return a + b + x;
};
}
这是否意味着Javascript中的内部函数存储了对同一作用域中所有变量的引用。也就是说,在这种情况下,fooinner存储变量a和b的引用。