Javascript 使一个函数影响其他函数
我只是想知道如何用另一个函数访问一个函数。因此,如果我有下面的代码,change函数不会影响loader函数。我做错了什么Javascript 使一个函数影响其他函数,javascript,jquery,Javascript,Jquery,我只是想知道如何用另一个函数访问一个函数。因此,如果我有下面的代码,change函数不会影响loader函数。我做错了什么 var loader = new THREE.JSONLoader(); loader.load( "test.js", function(geometry, materials){ var mesh = new THREE.Mesh( geometry, new THREE.MeshFaceMaterial( materials ) ); scene.add(mesh)
var loader = new THREE.JSONLoader();
loader.load( "test.js", function(geometry, materials){
var mesh = new THREE.Mesh( geometry, new THREE.MeshFaceMaterial( materials ) );
scene.add(mesh);
});
$('input').change(function() {
if($("#radio").is(":checked")){
mesh.material.materials[ 0 ].color.set( 0xff0000 );
mesh.material.materials[ 1 ].color.set( 0x111111 );
}
});
函数的局部变量不能从其他函数访问。由于javascript函数是共享的,因此两个函数可以共享一个变量:
var loader = new THREE.JSONLoader();
var mesh;
loader.load( "test.js", function(geometry, materials){
mesh = new THREE.Mesh( geometry, new THREE.MeshFaceMaterial( materials ) );
scene.add(mesh);
});
$('input').change(function() {
if($("#radio").is(":checked")){
mesh.material.materials[ 0 ].color.set( 0xff0000 );
mesh.material.materials[ 1 ].color.set( 0x111111 );
}
});
函数的局部变量不能从其他函数访问。由于javascript函数是共享的,因此两个函数可以共享一个变量:
var loader = new THREE.JSONLoader();
var mesh;
loader.load( "test.js", function(geometry, materials){
mesh = new THREE.Mesh( geometry, new THREE.MeshFaceMaterial( materials ) );
scene.add(mesh);
});
$('input').change(function() {
if($("#radio").is(":checked")){
mesh.material.materials[ 0 ].color.set( 0xff0000 );
mesh.material.materials[ 1 ].color.set( 0x111111 );
}
});
对将函数(闭包)视为具有公共和私有范围。是的。将函数(闭包)视为具有公共和私有范围。