js五大类运算符
一. in运算符
in运算符希望它的左操作数是一个字符串或可以转换为字符串,希望它的右操作数是一个对象。如果右侧的对象拥有一个名为左操作数值的属性名,那么表达式返回true
二. instanceof运算符
instanceof运算符希望左操作数是一个对象,右操作数标识对象的类。如果左侧对象是右侧类的实例,则表达式返回true,否则返回false。因为JavaScript中对象的类是通过初始化它们的构造函数来定义的,所以instanceof的右操作数应当是一个函数。
三. typeof运算符
typeof是一元运算符,放在其单个操作数的前面,操作数可以是任意类型。返回值为表示操作数类型的一个字符串。下面是任意值在typeof运算后的返回值:
四. delete运算符
delete是一元操作符,它用来删除对象属性或者数组元素,当然它也有返回值
五. void运算符
void是一元运算符,它出现在操作数之前,操作数可以是任意类型,操作数会照常计算,但永远返回undefined。
js能自动判断0是int还是string吗
在 JavaScript 中,0 可以被视为数字类型或字符串类型,具体取决于上下文环境。JavaScript 是一种弱类型语言,它会自动进行类型转换,因此在某些情况下,0 可以被自动转换为字符串类型或数字类型。
例如,当 0 与字符串相加时,0 会被自动转换为字符串类型:
```
var str = "Hello" + 0; // "Hello0"
```
而当 0 与数字相加时,0 会被自动转换为数字类型:
```
var num = 10 + 0; // 10
```
因此,JavaScript 可以自动判断 0 是数字类型还是字符串类型,具体取决于上下文环境。
在JavaScript中,0 可以同时被视为一个整数和一个字符串,取决于上下文的使用方式。JavaScript是一种动态类型的语言,它会根据操作的方式和语境来推断数据类型。因此,当使用 0 进行数学运算或与其他数字进行比较时,它会被视为整数。而在字符串的上下文中使用时,它会被视为字符串。这是JavaScript中的一种特性,称为隐式类型转换。如果您需要明确指定数据类型,可以使用函数或操作符来进行显式类型转换。
什么是原型和原型链
原型:每一个对象都与另一个对象相关联,那个关联的对象就称为原型。
例如:函数Person有一个属性prototype,指向一个对象,对于普通函数来说没多意义,对于构造函数就有作用了,当使用new操作符时,会把Person.prototype(原型对象)赋值给实例的__proto__(原型实例)属性。
原型链:每一个对象,都有一个原型对象与之关联,这个原型对象它也是一个普通对象,这个普通对象也有自己的原型对象,这样层层递进,就形成了一个链条,这个链条就是原型链。
通过原型链可以实现JS的继承,把父类的原型对象赋值给子类的原型,这样子类实例就可以访问父类原型上的方法了。
还没有评论,来说两句吧...