1.定义一个方法,传入一个String类型的参数,然后将string的每一个字符间加上空格并返回,
spacify("hello world") // → ‘h e l l o w o r l d’
function spacify(str){
return str.split('').join(' ');
}
var t = spacify('hello world');
console.log(t);
//输出:h e l l o w o r l d
split() 方法用于把一个字符串分割成字符串数组。
用法:strObject.split(separator,howmany);
separator:必须。字符窜或者正则表达式,从该参数的地方分割strObject
howmany 可选。该参数可指定返回的数组的最大长度。如果指定,返回的子串不会多于这个参数的个数。如果没有指定,则全部拆分。
join()方法用于将数组中的所用元素放入一个字符串。
用法 arrayObject.join(separator);
separator:可选,指定要使用的分割符号。如果省略该参数,则使用逗号分开。
2.javaScript 中的强制转型是什么?
在JavaScript中,两种不同的内置类型建的转换,被称为强制类型转换,强制类型转换分为隐式和显式两种形式。
//显式
var a = '42';
var b = Number(a);
a; // "42" string
b; // 42 int
// 隐式
var a = '42'
var b = a * 1; // "42" 隐式转换成 42
a; // "42" string
b; // 42 int
3.JavaScript中的作用域
在JavaScript中,每一个函数都有自己的作用域,作用域基本上是变量以及如何通过名称访问这些变量的规则的集合。只有函数中的代码才能访问函数作用域内的变量。
同一个作用域中的变量必须是唯一的。一个作用域可以嵌套在另外一个作用域内。而且最内部的作用域可以访问外层的作用域中的变量。
4. 解释javascript中的相等性
jJavaScript中只有严格比较和类型转换比较两种
严格比较(例如 === ) 在不允许强制类型转换的情况下比较两个值是否相等
类型转换比较(例如 == )在允许强制转换类型的情况下比较两个值是否相等
var a = '42';
var b = 42;
a==b; // true
a===b; // false
一些简单的规则:
如果比较的任何一个值可能为 true 或 false,要用 === ,而不是 ==
如果被比较大任何一个值是这些特定的值 (0、“” 、[]),要用 ===,而不是 ==
在其他情况下,可以安全的使用 == ,他不仅安全,而且在好很多情况下,他可以简化代码,提升代码的可读性。
PS: 上次被问到 string 类型的 42 和 int 42 用 == 比较,是种类型在转化》》》》》懵逼
正确答案: 数字和字符串、布尔类型、数组进行比较时,字符串(或布尔类型、或数组)先转换为数字(Number)