目录
JS中数据分为基本数据和引用数据。对象,数组,函数就是属于引用数据
引用数据:就是一个内存空间(就是一个数据容器)
函数的写法:function关键字 (){ }
注意点:函数不会自己运行大括号中的代码,只有函数被引用时才会运行大括号中的代码
//函数的自定义写法
var a = function(){
console.log(6666);
}
a(); //函数的调用==>让大括号的代码运行起来,而且调用一次就会运行一次
函数算是一种对象,却又有着与对象的一些不同。
var fn = function(){
console.log(123);
}
fn["hq"] = 999; //fn.hq = 999;语法糖写法
fn(); //123
console.log(fn.hq); // 999
结果分析:fn是一个变量,里面保存着函数数据,fn["hq"]是一种对象创建属性hq并存值999的方式,但是函数fn也能这么做,说明函数也是一个对象。console.log(fn.hq);结果为 999
函数是一种非常特殊的对象(引用数据),因此typeof检测函数的结果不再是object而是function
var f1 = function(){
}
console.log(typeof f1); //字符串型的function :"function"
函数是引用数据的证明
var f2 = function(){
}
f2.age = 200; //给f2函数对象添加一个属性age值为200
var f3 = f2; //f2的引用,让f3也去引用
f3.age = 100; //通过f3访问到 引用 的age成员并改值为100
console.log(f2.age); //如果f2.age=100,则证明了函数为引用数据,如果f2.age=200,则函数为基本数据
函数的两种写法:
//函数的第一种写法:声明式
function fn(){
console.log(123); //这段代码不会直接运行,需要被调用 fn();
}
//函数的第二种写法:定义式
var a = function(){
//这段代码不会直接运行,需要被调用 a();
}
注意点:fn是函数名,但是a不是函数名,a是一个变量,里面保存着一个函数数据(引用数据)