美文网首页
函数小知识点

函数小知识点

作者: astak3 | 来源:发表于2018-07-07 12:44 被阅读0次

函数的五种声明方式

方法一:具名函数

function f(parameter){
    return undefined
}

函数都会有一个返回值,不写,默认返回undefined。因为一个函数必须要有一个终止的语句
注意:consol.log()永远返回undefined,它打印什么和返回的没啥关系。

var a = 1,2     //报错
var a = (1,2)   //a 的值为 2
var a = console.log(1);     //a 的值是 undefined
var a = (1, console.log(2))     //a 的值是 undefined

方法二:具名函数给一个参数

var x = function f(parameter){
    return undefined
}

区别:
方法一:可在全局访问函数f

consol.log(f);  // f(parameter){ return undefined }

方法二:只能在函数内部访问f,在函数外部无法访问。

consol.log(f);  // 报错

方法三:匿名函数

var f = function(parameter){};

匿名函数必须给一个变量

方法四:window.Function函数对象

new Funciton('x','y','return x+y')

方法五:箭头函数

f = (x,y) => {return x+y;}

箭头函数是匿名的,只能用变量去存储。
如果只有一句语句,花括号和return可以一起去掉;
如果只有一个变量,可省略圆括号。

函数的name属性

函数有一个属性————name

function f1(){}
f1.name;            //f,字符串

var f2 = function (){};
f2.name;            //f2,字符串

var f3 = function f4(){};
f3.name;            //f4,字符串

new Function('x','y','return x+y');
f3.name;            //anonymous,字符串

函数的本质

函数是一段可以反复调用的代码块。

f(1,2) === f.call(undefined,1,2)

f.call()才是函数的真正调用,模拟下call()的内部。

var f = {};
f.name = 'f';
f.params = ['x','y'];
f.functionBody = 'console.log("fff")'
f.call = function(){
    return eval(f.functionBody);
};
f.call();       //fff

thisargument

f.call(undefined,1,2);      //undefined就是this,[1,2]就是argument

call的第一个参数可以用this得到
call的第二个参数可以用argument得到

function f(){
    console.log(this);  //this 是参数 1
}
f.call(1);      //Number 对象 1
function f(){
    'use strict';   //严格模式
    console.log(this);      //this 是参数 1
}
f.call(1);      //1,严格模式模式下参数是啥就打印啥
function f(){
    console.log(this);  //this 是参数 undefined,没有就是 undefined
}
f.call();       //window,不是字符串;严格模式下会打印 undefined

相关文章

  • 函数小知识点

    函数的五种声明方式 方法一:具名函数 函数都会有一个返回值,不写,默认返回undefined。因为一个函数必须要有...

  • Js知识点及刷题记录

    知识点:匿名函数,函数作用域,异步执行的理解 一,微信小程序中page页面里面的函数定义与js的差异js中: 而p...

  • Python基础知识点总结1

    4.函数 下面对函数部分做一个小总结,既是对前面知识点的一个回顾,也是对一些注意事项的再次提醒。 函数:函数按照我...

  • C++书上的小知识点笔记

    小知识点: 每个线程都必须有一个初始函数,新线程的执行开始于初始函数。对于第一段程序来说,它的初始函数是main,...

  • react生命周期函数componentDidUpdate()小

    小知识点,分享大家,以备后查! 我们知道,react函数每次更新组件(或者数据)都需要this.setState(...

  • 每日任务:Python实现加减乘除四则运算

    知识点:1、私有函数2、print函数使用3、if/else 使用

  • GeekBand C++面向对象高级编程(四)

    ** 本周内容较多,以下为每个小知识点的概要。 ** 1. 转换函数 2.Pointer-like-class 2...

  • 巧妙处理 return 遇上 for 循环

    python 小知识点: 函数中怎么在 for 循环后 返回列表的全部元素? 什么?有点晕,那就举例看看 我们...

  • JAVA SE笔记一

    知识点(1) 知识点(2) this()代表调用另一个构造函数,至于调用哪个构造函数,视传入的参数而定。this(...

  • 小知识点集汇三

    小知识点集汇三 JavaScript 所有对象都有 __proto__ 属性,都指向创造对象的函数对象的 prot...

网友评论

      本文标题:函数小知识点

      本文链接:https://www.haomeiwen.com/subject/ixlwuftx.html