定义一个方法,传入一个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()形式调用。