Object Prototypes (对象原型)

定义一个方法,传入一个string类型的参数,然后将string的每个字符间加个空格返回。

spacify('hello world') // => 'h e l l o w o r l d'

function spacify(str){

  returen str.split('').join(' ');

split方法 // 将一个字符串分割为子字符串,然后将结果作为字符串数组返回。

join方法 // 返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。

}

把spacify方法放入 String 对象上面。

'hello world'.spacify();

String.prototype.spacify = function(){

  return this.split('').join(' ');

}

直接在对象的原型(prototypes)上添加方法是否安全,尤其是在 Object 对象上。

函数声明:function fnName(){......}; // 使用function关键字声明一个函数,再指定一个名字,叫函数声明。

函数表达式:var fnName = function(){......}; // 使用function关键字声明一个函数,但是未给函数命名。最后将匿名函数赋值给一个变量,叫函数表达式。

匿名函数:function(){......};使用function关键字声明一个函数,但是并未给函数命名,所以叫匿名函数。匿名函数属于函数表达式,匿名函数有很多作用,用于名种回调。

函数声明和函数表达式不同点:

1.JavaScript引擎在解析JavaScript代码时会‘函数声明提升’(function declaration Hoisting)当前执行环境(作用域)上的函数声明,而函数表达式必须等到JavaScript引擎执行到它所在行时,

才会从上而下一行一行地解析函数表达式。

2.函数表达式后面可以加括号立即调用该函数,函数声明不可以,只能以fnName()形式调用。

原文地址:https://www.cnblogs.com/lixiaodou/p/7155512.html