JS 面试题收录

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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值