函数

函数(方法)

语法:

        function 函数名(){
            代码块;
            return;
        }

function 关键字 定义函数 类似于 var 定义变量一样
函数名 作用类似于 变量名 命名规范 跟变量名一样
() 函数的参数配置列表,如果有多个参数 以,隔开
{} 函数的代码块
return 定义返回值 或者 结束函数 只在函数中有效;

命名函数 定义完毕后 不会直接执行
必须得依靠 函数的调用 来执行
函数的调用 必须带括号

`fn1();`

在函数 被 事件绑定的时候 可以不写名字(匿名函数)
由事件 来触发函数

box.onclick = function () {

}

事件触发函数 第二种写法
行间属性触发
这种写法 可以触发 命名函数
行间属性触发时 函数没有括号

<div id="box" onclick="fn1"></div>

匿名函数 第二种写法

var fn2 = function(){
    console.log("这是第二个函数");
}
fn2();

函数的参数

函数在定义的时候 括号里面写的参数 叫形参

function fn1(a) {
    console.log("参数" + a);
}

函数在调用的是 括号里面写的参数 叫实参

fn1(2);

函数的参数 可以有多个 多个参数以,隔开
多个参数时 形参 和 实参的位置顺序 必须保持一致

function fn2(a, b) {
    console.log(a + b);
}
fn2(1, 2);

形参默认值

function fn3(a = 0) {
    console.log(a);
}
fn3();
fn3(9);

多个参数时 必须将有默认值的参数 写在最后面

function fn4(b, c, a = 1) {
    console.log(a, b, c);
}
fn4("b", "c");

return
只在函数中生效
1.返回值
2.结束一个函数
return 下面的代码 都不会继续执行
函数的运行 以return 为结束

作用域 变量起作用的区域

  1. 全局作用域
    函数外边的区域 就是全局作用域
    在全局作用域中声明的变量 叫全局变量
    全局变量 可以在程序的任何一个位置被访问
  2. 局部作用域
    函数内部的区域 就是局部作用域
    在局部作用域中声明的变量 叫局部变量
    局部变量 只能在当前作用域下 被访问
    无法被上层作用域访问
    var 声明变量的特点
    1. 变量可以重复声明;(尽量不要重复)
    2. 允许 先访问后声明
      变量的提升:浏览器在编译的时候 会先访问一遍 所有使用 var 和 function 声明的变量 或者 方法; 但是 只访问 不会进行任何的赋值操作; 相当于 提前开辟一个储存空间,但是这个储存空间暂时没用存放任何东西,直到下面使用时(赋值)才会往里面放入东西。
    3. 当全局变量 和 局部变量 命名重复时 遵循就近原则

递归

在函数内部 返回函数自身的调用 这种操作 叫递归

日期对象

通过关键字 new 来创建一个日期对象

var date = new Date();
  1. 获取年份

    var year = date.getFullYear();
    
  2. 获取月份
    月份获取 比实际的月份小1

     var month = date.getMonth() + 1;
    
  3. 获取日期

     var day = date.getDate();
    
  4. 获取星期

     var week = date.getDay();
    
  5. 获取 时

     var hour = date.getHours();
    
  6. 获取 分

     var minute = date.getMinutes();
    
  7. 获取 秒

     var second = date.getSeconds();
    
  8. 获取 毫秒

     var ms = date.getMilliseconds();
    
  9. 获取时间戳
    从 1970年 1月1日0时0分0秒 至今 所有的毫秒数

     var time = date.getTime();
    

this 关键字

this 只在函数中存在 永远指向函数的调用者

box.onclick = function(){
        this.style.backgroundColor = 'black';
        //指向标签 box
        console.log(this);
}

function fn1() {
      //指向 window
      console.log(this);
}

arduments 可变参数 类数组(伪数组)

arguments 只存在于函数中 关键字
伪数组
可以在不写形参的时候 获取到所有的实参 并存到arguments数组中

function fn2() {
    console.log(arguments);
}
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354

推荐阅读更多精彩内容

  • JavaScript的相关语法知识:1、函数(important)基本上所有的高级语言(C、OC、JavaScri...
    天山雪莲_38324阅读 630评论 0 2
  • 函数就是最基本的一种代码抽象的方式。 定义函数function abs(x) {if (x >=0){return...
    _我和你一样阅读 445评论 0 0
  • 3、函数 3.1、函数定义 JavaScript 函数是通过 function 关键词定义的。 声明定义 被声明的...
    森小森_阅读 114评论 0 1
  • 函数只定义一次,但可能被执行或调用任意次。JS函数是参数化的,函数的定义会包括一个称为形参的标识符列表,这些参数在...
    PySong阅读 853评论 0 0
  • 函数只定义一次,但可能被执行或调用任意次。JS函数是参数化的,函数的定义会包括一个称为形参的标识符列表,这些参数在...
    PySong阅读 526评论 0 0