一、函数的定义
//函数的定义 // 1-自定义函数(命名函数) function fn() { console.log('fn'); } // 2 - 函数表达式(匿名函数) var fn = function () { console.log(fn); } // 3-利用new Function('参数1','参数2','函数体'); //从来不用 //Function是javascripts内置的构造函数 var fnn = new Function() var fnnn = new Function('a', 'b', 'console.log(a+b)') fnnn(10, 20) // 4-所有函数都是Function的实例(对象) console.log(fn instanceof Function); //true // 5-函数也属于对象 fn.firstName = '666'
二、函数的调用
//函数的调用 // 1-命名函数的调用 function fn() { console.log('fn'); } fn(); // 2-函数表达式的调用 var fnn = function () { console.log('fnn'); } fnn(); // 3-构造函数 function Star() { } var ldh = new Star(); // 4-立即执行函数 (function () { console.log('立即执行函数'); })(); // 5-对象的方法(方法的本质也是函数) //(1)自定义的对象的方法 var o = { name: '李四', sing: function () { console.log('我会唱歌~~~'); } } o.sing(); //(2)内置对象的方法(max作用,取多个数字中的最大值) var res = Math.max(1, 2, 3, 4, 5) console.log(res); // 6-事件处理函数 var btn = document.querySelector('button') btn.onclick = function () { console.log('按钮'); }
三、函数内部的this指向
// 1-命名函数的调用 function fn() { console.log('fn', this);//window对象 } fn(); // 2-函数表达式的调用 var fun = function () { console.log('fun', this);//window对象 } fun(); // 3-构造函数 function Star() { console.log('star', this); //实例对象 } var ldh = new Star(); // 4-对象的方法(方法的本质也是函数) // (1)自定义的对象的方法 var o = { name: '老李', sing: function () { console.log('我会唱石家庄之歌', this); //对象o } } o.sing(); // (2)内置对象的方法 var result = Math.max(1, 2, 3, 4, 5) //Math数学对象 console.log(result); // 5-事件处理函数 var btn = document.querySelector('button'); btn.onclick = function () { console.log('事件处理函数', this);//事件源对象
还没有评论,来说两句吧...