javascript --函数
4.3、Camel(骆驼)命名法: liuYuPing(js变量命名)
4.4、短横线命名法:liu-yu-ping(html)
5.1、系统函数
alert(); document.write() console.log()
5. 2、事件驱动函数
onclick() 鼠标点击事件,, onMouseover() 鼠标划入事件、onMouseout()鼠标划出事件,onChange () 双击的时候触发事件,onfocus()获取焦点时发生, onblur()失去焦点时发生, onsubmit() 函数表示在表单中的确认按钮被点击时触发的事件
5.3、用户自定义函数(今天所学知识)
/* 方法进行调用。 */
function fuyong(a,b){
console.log(a+b);
return a+b;
};
// fuyong(5,6);
var fanhui1 = fuyong(5,6); // 11
var fanhui2 = fuyong(7,5);
console.log(fanhui1);
console.log(fanhui2);
console.log(fanhui1+fanhui2);
// 函数之间进行调用
function fuyong2(){
var num = fuyong(2,3); //调用 fuyong() 这个方法 ,最终实现的结果是 5
return num;
};
var fanhui4 = fuyong2();
console.log("函数之间的调用"+fanhui4);
七、函数的作用域
7.1、全局变量
var num = 6;
function fangfa1(num){ //虽然是穿过来的参数。
num = 10; //虽然 传过来一个实参,但是形参在接受之后,在重新给这个num 赋值。
console.log(num);
}
console.log(num); //输出的是6
fangfa1(num); //输出的是10
console.log(num); //输出的是6
7.2、局部变量
function fangfa2(){
var num = 11;
console.log(num);
}
fangfa2(); // 直接输出 11;
console.log(num); //这个就会报错,因为num 是局部变量。
===================================================================================================
八、闭包:函数套函数,什么时候想用就直接用,并不会影响全局
闭包特点: 提到闭包就首先知道是内存泄漏以及立即执行函数。
1、函数嵌套函数
2、内部函数可以引用外部函数的参数和变量
3、被内部函数引用的参数和变量并不会被垃圾回收机制所回收。
好处:
1、希望一个变量常驻内存
2、避免全局变量的污染
3、私有成员的存在
闭包去调用函数的区别:
函数调用,执行程序,消耗内存。每调用一次函数,系统就分配一段内存给这个函数去运行。
当这个函数运行结束以后,这段内存要销毁小,还给内存。
当js的垃圾回收机制检测不到该变量被使用,就会被垃圾回收机制收走。
而闭包,就会产生一个一直存在,切不释放的变量。
内存泄漏:占用内存空间,不释放,一直占用
注:闭包会会引发内存泄漏
含义解释:fu() j函数内部创建一个函数 fn2() ,且 fu2()函数访问 fn() 函数中的局部变量,这种现象我们就说fn2()这个函数闭包到了 fn()这个函数
function fn(){
var nu = 1;
function fn2(){
nu++;
console.log(nu);
}
return fn2;
}
console.log(fn()); //输出的是fn2这个函数
fn()(); //2 这个就是一值从头fn进行执行。
fn()(); //2
var a = fn(); //这个是fn2这个函数
a(); //函数() 就是调用调用fn2,不用调用 fn();
九、(闭包2)自执行函数(想要解决问题就要把闭包函数 修改成自执行函数即可)
修改方法 如下:
<div onclick= 'aa()'></div>
<script type="text/javascript">
function aa (){
console.log('这是一个方法');
};
</script>
var {app, map} = uearth.init(); // var obj = uearth.init(); // var app = obj.app; // var map = obj.map;
js
const uearth = { geoData: [ [118.80117416381836, 32.05944574382282], [118.77842903137206, 32.060609597582975], [118.79971504211427, 32.04249544572742], [118.77842903137206, 32.04351400722718], [118.77868652343751, 32.08082919266005] ], init: () => { // app const app = new THING.App({ container: 'demo' }) // map const map = app.create({ type: 'Map', atmosphere: true, style: { night: true, fog: false }, attribution: '高德' }) // 基础瓦片 const tileLayer = app.create({ type: 'TileLayer', name: 'tileLayer1', url: 'https://{a,b,c}.tile.openstreetmap.org/{z}/{x}/{y}.png', style: { template: CMAP.TileLayerStyle.DARKGREEN } }) map.addLayer(tileLayer) // 初始视角 app.camera.earthFlyTo({ lonlat: z.geoData[0], height: 2000, time: 500 }) return { app, map } },

浙公网安备 33010602011771号