运算符也可以叫做操作符
通过运算符可以对一个或者多个值进行运算,并获取运算结果
比如typeof 就是运算符,可以获得一个值的类型
它会将该值的类型以字符串的形式返回
算数运算符
当对非Number类型的值运算时,会将这些值转化为Number然后进行运算
任何值和NaN做运算都得NaN
两个字符串相加,则会有拼串
会将两个字符串拼接成一个字符串再返回。
任何的值和字符串做加法运算,都会先转换成字符串,然后做拼串。
可以利用任意的数据类型+一个空串将其转化成string,这是一种隐形的类型转换。
在表现形式上经常使用 console.log("c = "+c);的形式让返回值更清楚。
console.log("c = "+c);
一元运算符,只需要一个操作数。
+代表正号
-代表负号
对于非Number的值会先转换成Number再运算。
可以对一个其他的数据类型将其转换为Number类型:a = +a;则转换成了Number类型;也属于隐式转换。
a = +a;
自增 ++
a++;
a++;
每调用一次就自增一次。
++a;
++a;
++a和a++:
自增分成两种:前加加和后加加,无论是a++还是++a都是让原变量加一。
不同的是a++和++a的值不同
a++是自增前的值,++a是自增后的值。
自减 --
与a++和++a的同理
逻辑运算符
js中为我们提供了三种逻辑运算符 && || ! 与 或 非
&& || 非布尔值的情况
对于非布尔值进行与或运算会将其转换成布尔值再进行运算,并且返回原值。
0 转化成布尔值为false。
var result = 1 & 2;
如果两个值都为true,则返回后面的值。
如果两个值都为false,则返回前面的值。
var result = 1 & 2;
js的对象
Object 对象
在js中表示一个人的信息(name,gender,age)
var name;
var gender;
var age;
如果使用基本数据类型的数据,我们所创建的变量不能成为一个整体。
var name;
var gender;
var age;
对象属于一种复合的数据类型,在对象中可以保存多个不同数据类型的属性。
对象的分类:
1.内建对象
---由ES标准定义的对象,在任何ES的实践中都可以使用。
---如 STring,Number...
2.宿主对象
---由js的运行环境提供的对象,目前主要指浏览器提供的对象。
比如哦 console document 都是宿主对象
3.自定义对象
---由开发人员自主创建的对象
创建对象
var obj = new Object();//使用new关键字调用的函数,是构造函数constructor
console.log(obj);
console.log(obj);
向对象中添加属性,语法:
对象.属性名 = 属性值;
向obj中添加一个name属性
obj.name = “ ”;
读取对象中的属性
对象.属性名
console.log(obj.name);
删除对象属性
delete 对象.属性名;
delete obj.name;