静态方法和实例方法的区别?

如题详述: 不知道改怎么区分这两种方法,它可能会涉及到对象的定义方式,所以问题有二


问题1: 定义方式


var str = new String('luo');


var str = 'luo'

这两种定义字符串的方式有什么区别?


问题二: 方法的调用产生的‘静态方法’和‘实例方法’


var str = 'luo';

console.log(str.toLowerCase());    //LUO

这是实例方法,通过原型链继承的,好理解


但是,并不是所有方法都是原型链继承的,如下:


console.log(String.fromCharCode(76,85,79));    //LUO

为什么会有这样的方法?这个方法是怎么理解?


慕码人8056858
浏览 388回答 1
1回答

小怪兽爱吃肉

1.var str = 'luo'这个方式定义的是一个原始类型的string,var str = new String('luo');这种方式是以String为构造函数定义了一个新的对象。比较相似的还有var str = String('luo');这个也是定义的原始类型的string。以上的String指的是js的一个转化参数为字符串的函数。以下的String指的是js的一个全局自有对象。2.例子中的fromCharCode就是String的静态方法,也就是直接可以通过String调用的方法,不需要在一个String的实例上调用。实例方法就是实例化后对象的方法,每个实例都会有这个方法,可以被继承。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript