前端笔试题:返回 string 的情况

题目:[不定项选择] 下面哪些情况会返回字符串string。

console.log(typeof('string')); 
console.log(String('string').toString());
console.log('string'.split('').sort().join(''));
console.log((function (string){return string})('string'));
console.log(JSON.parse('{"string":"string"}').string);
console.log('string'.toLowerCase());

正确结果:

console.log(typeof('string')); //string
console.log(String('string').toString());//string
console.log('string'.split('').sort().join(''));//ginrst 
console.log((function (string){return string})('string'));//string
console.log(JSON.parse('{"string":"string"}').string);//string
console.log('string'.toLowerCase());//string

答案讲解:
1.typeof :返回对象的类型
有以下情况:
- Undefined “undefined”
- Null “object”
- Boolean “boolean”
- Number “number”
- String “string”
- Symbol (ECMAScript 6 新增) “symbol”
- 宿主对象(由JS环境提供) Implementation-dependen
- 函数对象 ( [[Call]] 在ECMA-262条款中实现了) “function”
- 任何其他对象 “object”

另外,可查看正则表达式字面量的类型,由此判断某些浏览器不符合标准 。

typeof /s/ === 'function'; // Chrome 1-12 , 不符合 ECMAScript 5.1
typeof /s/ === 'object'; // Firefox 5+ , 符合 ECMAScript 5.1

2.String(‘string’).toString()
使用了构造函数String创建对象,并返回字符串。
等同于

var str = new String('string');
str.toString();

3.’string’.split(”).sort().join(”)
执行顺序是先split(),再sort(),最后join()。

(1) split()
用于把一个字符串分割成字符串数组。

初始表达式为stringObject.split(separator,howmany)。
separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

var str = "123456789";
console.log(str.split());

结果为:[‘123456789’]
若想要每个数字为一个元素,则为split()方法传入一个空字符串即可

var str = "123456789";
console.log(str.split(""));

结果为:[‘1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’]

(2) join()
将字符串数组连接成字符串,是split()的逆过程。

(3) sort() 数组的元素进行排序,返回数组。
arrayObject.sort(sortby),sortby可选。规定排序顺序,必须是函数。

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort())

</script>

输出结果:未按照数值大小排序

10,5,40,25,1000,1
1,10,1000,25,40,5

改进方法,是传递一个函数参数

<script type="text/javascript">

function sortNumber(a,b)
{
return a - b
}

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort(sortNumber))

</script>

4.(function (string){return string})(‘string’)
函数表达式,它等价于以下代码:

function f(string){
    return string;
}
console.log(f("string"));

5.JSON.parse(‘{“string”:”string”}’).string
JSON.parse() 方法返回json对象,再访问 string 属性。

JSON.parse() 方法解析一个JSON字符串,构造由字符串描述的JavaScript值或对象。可以提供可选的reviver函数以在返回之前对所得到的对象执行变换。

6.’string’.toLowerCase()
将字符串转换成小写字符串。
转大写是toUpperCase()方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值