js数据类型、对象类型、位运算符

来源:互联网 发布:淘宝刷单赚钱吗 编辑:程序博客网 时间:2024/05/22 00:12

2程序设计基础

2.1常规数据类型与变量

2.1.1现实生活中的数据

数据的几个属性:名称、值、类型

数据

名称

类型

价格

1399.00

数值类型

累计评论

345

数值类型

是否支持7天无理由退货

逻辑类型

机身颜色

“黑色”

字符串类型

 

2.1.2 JS中的数据

程序就是对现实中的数据进行加工(比方说购物车结算),所以JS中也必须有相应的数据描述。

(1)  数值型:数值型数据支持多种表示形式

十进制:23,3.14;

八进制:023;(19)

十六进制:0x23(35)

科学计数法:3e2(3×102),3.5e-2(3.5×10-2)


<
script>
   
alert(1399);
   
alert(345
)
   
alert(023);//
八进制
    
alert(0x23);//十六进制
   
alert(3.5e-2);//科学计数法
</script>

 

(2)字符串

 

Typeof() 数据的类型

为什么要有数据类型?

生活中是存在不同的数据类型的,计算机要解决生活问题,那么他就和生活中的数据类型产生了映射,所以有了数据类型。

数值类型的表示形式:

 

为什么要有变量?

因为生活中一些数据不是一成不变的,他的值会改变,所以JS里面有了变量和他相对应。

 

变量:

varname = "曹鹏飞";

 

Var  variable的缩写变量的意思。声明一个变量。

变量名

Name  变量名

命名的规则:

1、可以有字母、数字、下划线和$组成

2、数字不能开头(?)

3、关键字不能用

4、一般情况下,只用英文开头也可以是$和_,但是不建议使用

不能用数字开头。因为和8进制 16进制会产生冲突。

 

命名的原则:见名思义。

规范:

(1)尽量使用英文单词或者组合,或者专业名词

weight color

fileName(驼峰命名法)

(2)尽量不要使用拼音

变量的值:

变量的类型是由变量的值来决定的。

系统会为不同的类型分配不同的大小来存储数据。

如果是布尔类型就分配一个字节的大小来存储

如果是数字和字符串,那么根据他的大小和长度来分配字节数来存储。

JS是弱类型语言,所有的类型的变量都用var来声明。

JS是动态类型的语言,变量的类型会根据值的变化而变化,不会出错。

变量就是一个内存单元。

varweight = 65;

weight = weight - 5;

用本质来解释weight = weight – 5;

 

把 名字为 weight 的内存单元中的值65拿出来 ,之后和5做减法运算,然后把得到的结果再放回到名字为weight的内存单元中。

 

JS语言特点:

更加高级,不严谨。
weight = "中等";
alert(weight);

变量不声明就可以使用。

使用严谨的格式,就必须先定义变量才能使用变量。

"use strict";

Var weight= "中等";
alert(weight);

2.2对象类型

对象在js当中对应的是object

定义一个狗的对象

vardog = {name:"藏藏",type:"藏獒",color:"花色",
   
sex:"
",age:3,marry:false };

 

狗:

名字:”藏藏”

颜色:”花色”

年龄:3

是否婚配:否

狗的行为:走,跑,睡觉。

使用new Object()定义一个对象类型的变量

vardog = newObject();
dog.name = "
藏藏";
dog.
age= 3;
dog.marry = false;

使用对象里面的属性:使用对象名+.+对象属性名

alert(typeof(dog.name));

2.3算术运算符与表达式

常见的算术运算符有 + - × ÷

对应在JS当中的运算符为 + - * /

运算的的前提条件是数值才能进行运算,如果不是数值进行加减乘除运算时就会出错。

加法运算:(数值)

varweight = 65;
weight = weight + 10
;
alert(weight);

字符串拼接(字符串)

vardogName = "zhangsan";
dogName = dogName +"feng";

取余运算符在JS当中用%表示 作用:得到两个数的余数

varnum1 = 10;
var num2 =3
;
var result =num1 % num2
;
alert(result);

使用技巧:可以解决周期性问题。

vardate = 2;/*计算12天后是星期几*/
date =date +12 % 7;

 

num++  和 ++num 的区别

Num++ 是先用再加

++num 是先加再用

2.4赋值运算符与表达式

将一个数据赋值给一个变量。

a=5

赋值运算是表示将一个数据存储到某个内存单元中(变量)

varnum = 10;

复合赋值运算符

num = num +10;

num +=10;//两者完全等价

+= 、%= 、*=、/=

可以不存在,完全由 普通运算符取代,存在的唯一价值就是简洁方便。

 

 

2.5 关系运算符与表达式

生活中常见的关系运算符

大于 小于 等于 大于等于 小于等于 不等于

>     <    ==    >=       <=       !=

判断两个数是否相等 使用两个=号。与生活中常识不符合,

如何避免判断两个数相等时出错。就是把常量放在等式的前面

把变量放在等式的后面。

绝对相等

变量的值和类型都相等,使用 === 来表示

绝对不相等

变量的值和类型都不相等,使用!==来表示

varnum =2;
var str ="2";
alert(num !== str);

对比不相等

varnum = 2;
var str ="2"
;
alert(num!= str);

2.6逻辑运算符与表达式

两个条件同时成立结果才成立

第一个关系是true 第二个关系也是true 那么结果才是true

如果有一个或多个为false 时结果为false

至少有一个成立那么结果成立

就是一个关系为true那么结果就为true

在JS中用||来表示

结果为原身的对立面,就是当关系成立时,非之后就变为不成立。

非true 之后 结果变为 false

在JS当中用!表示

varnum =10;
alert(!(num> 10));

2.7位运算符与表达式

如何得到一个数的二级制。

varnum =5;
//101
alert(num.toString(2));

同理得到一个数其他进制数,改变.toString里面的值

 

首先要把数转化为二进制数。

按位运算,不足的在二进制前补0。例如:计算5和6的与运算

5:    101

6:    110

结果:100

varnum1 = 5;
var num2 =6;

alert((num1&num2).toString(2));

 

 

1为真,0

只有两者同时为1时结果才为1.其余结果均为0

x&1 = x

  x&0 = 0

  两个数有一个为1那么结果就为1

x|0 = x

x|1 = 1

异或 两个值相同时结果为0 两个值不同时结果为1

 

x^1 = x(反)

x^0 = x

原创粉丝点击