javascript函数

来源:互联网 发布:mac的windows支持软件 编辑:程序博客网 时间:2024/06/05 12:40

函数特性:它是真正的数据类型,可以被存储在变量,数组,对象中,也可以作为参数传递给其它函数。


创建方法:

function f(x, y) {}//函数直接量var f = function() {}

传递的参数:实参个数可以和形参个数不对等。实参个数大于形参个数,实参多的部分就会被忽略掉。传递的参数少,未赋值的参数就会被定义为undifine。
arguments[]对象(可视为数组)允许完全的读取那些实参的值。arguments.length求实参长度。同样,操作它可以改变其值。如下:

function f(x) {    alert(x);    arguments[0] = 1;    alert(x);    arguments.callee(x-1);}f(4);//注:arguments.callee用来引用当前正在执行的函数

用Object.prototype.toString.call检测参数的数据类型

    var gettype = Object.prototype.toString    gettype.call('aaaa')        输出      [object String]    gettype.call(2222)         输出      [object Number]    gettype.call(true)          输出      [object Boolean]    gettype.call(undefined)  输出      [object Undefined]    gettype.call(null)                  输出   [object Null]     gettype.call({})                   输出   [object Object]     gettype.call([])                    输出   [object Array]     gettype.call(function(){})     输出   [object Function]     //使用原型的方式精准判断数据类型

typeof不能区分null,对象和数组

   typeof   2      输出   number   typeof   null   输出   object   typeof   {}    输出   object   typeof    []    输出   object   typeof   (function(){})   输出  function   typeof    undefined         输出  undefined   typeof   '222'                 输出    string  typeof  true                   输出     boolean

作用域问题
与其它语言不同的是:在javascript函数中,有函数作用域,但是没有块级作用域之分。在定义变量时建议都加上var

function test(o) {    if(Object.prototype.toString.call(o) == "[object Array]") {         var j = 0;        for (var i = 0; i < o.length; i++) {             console.log(i);        }        console.log(i);//i 仍然有定义,输出o.length    }    console.log(j); //j输出0}var arr1 = [1,2];test(arr1);
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 当保安不发工资怎么办? 辅警改革流管员怎么办 退伍证上照片毁了怎么办 辅警年龄大了怎么办 交警2小时不出警怎么办 中暑发烧39度了怎么办 中暑头疼怎么办最快最有效 十五个月的宝宝拉肚子怎么办 中暑了头疼想吐怎么办 2周岁中暑了呕吐怎么办 容易中暑的人该怎么办 喷泡3m反光脏了怎么办 新摩托车被交警查到怎么办 写字楼保安夜班巡逻害怕怎么办 全民k歌歌曲删了怎么办 莲藕洞里的黑膜怎么办 鞋子后面的拉链磨脚怎么办 磨砂鞋尖踢掉皮怎么办 塔吊吊装过程中遇到障碍物怎么办 高速路上突然遇到障碍物怎么办 被不明物蛰了怎么办 喝酒后开车撞路政护栏怎么办 电脑过了质保期怎么办 电闸推不上去怎么办啊? 寝室的电闸不亮了怎么办 海绵城市改造只挖不修怎么办 怀孕一个月做了胸透怎么办 怀孕了照了胸透怎么办 刚怀孕照了胸透怎么办 怀孕进了ct室怎么办 消防稳压罐气囊压力不够怎么办 备孕期间拍了ct怎么办 晚上睡不好老做梦怎么办 零线和地线短路怎么办 火花塞拧的过紧怎么办 眼睛被电弧光灼伤怎么办 电脑模拟器微信附近人屏蔽了怎么办 美的电压锅漏气怎么办 电压力锅排气阀漏气怎么办 win10系统上不了网怎么办 手机自拍杆坏了怎么办