let str='这是一个ceshi123()*&^';
//字符串的方法
//charAt()
//返回在指定位置的字符。
//demo
console.log(str.charAt('1'),str.charAt('1以'));
//是 这
/*
总结:
1.str.charAt()方法的参数可以是数字或数字的字符串
2.内部猜测使用的是Number方法,因为以数字开头非纯数字字符串(不包括空格)的内容无法读取最前面的数字
*/
function myCharAt(num){
'use strict'
//转换类型为数字
num = Number(num);
//当数值为NaN时,默认下标为0
let index = num!==num ? 0 :num;
//获取当前this
let str=this;
//判断this是否为字符串
if(typeof str != 'string'){
//不是就返回报错
return Error(' not is a string');
}else{
//是就返回下标对应的值
return str[index];
}
}
//使用call方法,将this指向指定的对象
console.log(myCharAt.call(str));
//使用原型链的方式,可以让str直接调用方法
Object.defineProperty(str.__proto__,'myCharAt',{
value:myCharAt,
//不可变量
enumerable:false,
//不可修改内容
writable:false,
//不可修改限制
enumerable:false
})
//通过原型链调用函数,打印结果
console.log(str.myCharAt());
String.chatAt()
最新推荐文章于 2024-05-21 13:44:46 发布