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里面有了变量和他相对应。
变量:
var name = "曹鹏飞";
Var variable的缩写变量的意思。声明一个变量。
变量名
Name 变量名
命名的规则:
1、可以有字母、数字、下划线和$组成
2、数字不能开头(?)
3、关键字不能用
4、一般情况下,只用英文开头也可以是$和_,但是不建议使用
不能用数字开头。因为和8进制 16进制会产生冲突。
命名的原则:见名思义。
规范:
(1)尽量使用英文单词或者组合,或者专业名词
weight color
fileName(驼峰命名法)
(2)尽量不要使用拼音
变量的值:
变量的类型是由变量的值来决定的。
系统会为不同的类型分配不同的大小来存储数据。
如果是布尔类型就分配一个字节的大小来存储
如果是数字和字符串,那么根据他的大小和长度来分配字节数来存储。
JS是弱类型语言,所有的类型的变量都用var来声明。
JS是动态类型的语言,变量的类型会根据值的变化而变化,不会出错。
变量就是一个内存单元。
var weight = 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
定义一个狗的对象
var
dog = {name:"藏藏",
type:"藏獒",
color:"花色",
sex:"雄",
age:3,
marry:false
};
狗:
名字:”藏藏”
颜色:”花色”
年龄:3
是否婚配:否
狗的行为:走,跑,睡觉。
使用new Object()定义一个对象类型的变量
var
dog = new
Object();
dog.name
= "藏藏";
dog.age
= 3;
dog.marry
= false;
使用对象里面的属性:使用对象名+.+对象属性名
alert(typeof (dog.name));
2.3 算术运算符与表达式
常见的算术运算符有 + - × ÷
对应在JS当中的运算符为 + - * /
运算的的前提条件是数值才能进行运算,如果不是数值进行加减乘除运算时就会出错。
加法运算:(数值)
var
weight
= 65;
weight = weight
+ 10;
alert(weight);
字符串拼接(字符串)
var
dogName = "zhangsan";
dogName = dogName +
"feng";
取余运算符在JS当中用%表示 作用:得到两个数的余数
var
num1 = 10;
var num2 =
3;
var result =
num1 % num2;
alert(result);
使用技巧:可以解决周期性问题。
var
date = 2;/*计算12天后是星期几*/
date =date +
12 % 7
;
num++ 和 ++num 的区别
Num++ 是先用再加
++num 是先加再用
2.4赋值运算符与表达式
将一个数据赋值给一个变量。
a=5
赋值运算是表示将一个数据存储到某个内存单元中(变量)
复合赋值运算符
num = num + 10;
num += 10;//两者完全等价
+= 、%= 、*=、/=
可以不存在,完全由 普通运算符取代,存在的唯一价值就是简洁方便。
2.5 关系运算符与表达式
生活中常见的关系运算符
大于 小于 等于 大于等于 小于等于 不等于
> < == >= <= !=
判断两个数是否相等 使用两个=号。与生活中常识不符合,
如何避免判断两个数相等时出错。就是把常量放在等式的前面
把变量放在等式的后面。
绝对相等
变量的值和类型都相等,使用 === 来表示
绝对不相等
变量的值和类型都不相等,使用!==来表示
var
num =
2;
var str =
"2";
alert(num
!== str);
对比不相等
var
num = 2;
var str =
"2";
alert(num
!= str);
2.6 逻辑运算符与表达式
与
两个条件同时成立结果才成立
第一个关系是true 第二个关系也是true 那么结果才是true
如果有一个或多个为false 时结果为false
或
至少有一个成立那么结果成立
就是一个关系为true那么结果就为true
在JS中用||来表示
非
结果为原身的对立面,就是当关系成立时,非之后就变为不成立。
非true 之后 结果变为 false
在JS当中用!表示
var
num =
10;
alert(!(num
> 10));
2.7 位运算符与表达式
如何得到一个数的二级制。
var
num =
5;
//101
alert(num.toString(2));
同理得到一个数其他进制数,改变.toString里面的值
与
首先要把数转化为二进制数。
按位运算,不足的在二进制前补0。例如:计算5和6的与运算
5: 101
6: 110
结果:100
var
num1 = 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