js 关于对象

70 阅读1分钟

js 函数就是一种对象

  • 函数只是对象的一种
  • 可以将 function 储存成变数
  • 可以将 function 当成参数代入另一个 function 中
  • 可以在一个 function 中回传另一个 function
  • function 跟对象一样有属性(property)

1.1 函数也是对象的一种

function greet() {
  console.log('Hello');
}

greet.language = 'english';

2.png 这里表示函数也是可以当作对象使用的

2 表达式(Expressions)和陈述句(Statements)的差异

只要输入的程序能直接回传一个值,这就是也是表达式

2.1 函数中的函数 name 属性是log,code其中a 是这个函数的参数

vHzOoo6.png

function log(a) {
  a();
}

const anonymousFunction = function() {
  console.log('Hello');
};

log(anonymousFunction);   // Hello

这样不建立函数的情况下,直接去执行匿名函数

3 # JavaScript 中 by reference 和 by value 的重要觀念

简单来说就是按值就不会随参考变化,不然会变化,像指针一样

4 # JavaScript 中的 “this” 和它的问题

这里我们在三种不同情境去呼叫 this,分别是在程序的最外层(outer environment)直接去执行; 使用function statement 去执行; 使用 function expression 去执行