2.1数据类型
数据计算机程序去处理显示中各种数据
数据的几个属性:名称、值、类型
例如
月销量 47
名称是月销量,值是47 类型数值
大小190×100
名称是大小,值是190×100 类型字符串
是否包邮:是
名称是是否包邮,值是“是”,类型是布尔类型
名字字符串 string
身高 数值 number
体重 数值 number
性别 字符串 string
是否单身 布尔类型boolean
alert()警告提示框(打印)
typeof()数据的类型
为什么要有数据类型
生活中存在许多不同的数据类型,计算机要解决说问题,那么他就和生活中的数据类型产生了映射,所以有了数据类型
变量
数值类型它的表现形式
十进制:23,3.14
八进制:023(19),
十六进制:0x23(35)
科学计数法:3e2(3×102),3.5e-2(3.5×10-2)
为什么要有变量
因为生活中的一些数据不是一成不变的,他的值是会改变,所以js里面有了变量和他相对应
var(variable)变量的意思,声明一个变量
var name = "张三"
变量名:name
命名的规则:关键字不能用
var var= "张三"
一般情况下,只用英文开头,也可以是$和-,但是不建议使用
不能用数字开头,因为会和8进制16进制产生冲突
var 1name = "张三"
命名的原则:
可以有字母、数字、下划线$组成
尽量使用英文单词或组合,或者专业名词
FileName(驼峰命名法)
尽量不要使用拼音
为什么要用严格模式,有些错误找不出,严格模式可以报错
见名思义
变量的值:
变量的类型是由变量的值来决定的。
系统会为不同的类型分配不同的大小来存储数据
如果是布尔类型就分配一个字节的的大小来存储
如果是数字和字符串,那么根据他的大小和长度来分配字节数来存储
js是弱类型语言,所有的类型的变量都是由var来声明
js是动态类型的语言,变量的类型会根据值得变化而变化,不会出错
总结js的关键字
变量是一个内存单元
var weight = 75; weight = weight -5 var height = 175; var single = true; alert (weight);
用本质来解释weight = weight – 5
把名字为weight的内存单元中的值65拿出来,之后和5做减法运算,然后把得到的结果再放回到名字为weight的内存单元中
js语言特点
更加高级,不严谨
变量不用声明就可以使用
使用严谨的格式,就必须先定义变量才能使用变量
"use strict";
name这个名字是特殊的,使用name来给变量起名时,不会报错
2.2对象类型
狗
名字藏藏
品种藏獒
颜色花色
性别雄
年龄3
是否婚配否
狗的行为走,跑,吃,睡觉
对象在js中对应的是object
定义一个狗的对象
var dog = {name:"藏藏",type:"藏獒",color:"花色", sex:"雄",age:3,marry:"false"};
使用new Object()定义一个对象类型的变量
var dog = new Object(); dog.name = "藏藏"; dog.age = 3; dog.marry = false;
为什么要有对象
为什么有数据类型是一样的,就是生活中处处都是对象,所以在js中有这种对象类型
如何使用对象里面的属性
使用对象名+.+对象属性名
alert(typeof (dog.name));
对象的属性中能不能有对象类型
2.3运算符与表达式
常见的算术符有+ - ×÷
对应在js中的算术符 + - * /
加法运算(数值)
var weight = 65; weight = weight + 10; alert(weight)
字符串拼接(字符串)
var dogNmae = "zhangsan"; dogName = dogName = "feng"; alert(dogName)
减法
乘法
除法
取余运算符在js中用%表示
作用:得到两个数的余数
var num1 = 10; var num2 = 3; var result = num1 % num2; alert(result)
使用技巧:可以解决周期性运算问题
var date = 2; date = date + 12 % 7;
计算12天后是星期几
“++”自增加符号
本身是可以不存在,使用基本运算就能代替,他存在的唯一价值就是简便,快捷
num++ 和++num的区别
num++是先用再加
var num1 = 1; num1 = num1 + 1; num1 ++;
++num是先加再用
var num = 5; var a = num++; alert(num); alert(a);
先用num,给a赋值,再执行num++
结果6 5
var num = 5; var a = ++num; alert(num); alert(a);
结果 6 6
2.4赋值运算符与表达式
var num = 10;
将一个数据赋值于一个对象
将一个数据存储到某个内存单元中(变量)
复合赋值运算符
num = num + 10; num += 10;
两者等价
+=可以不存在,完全由普通运算符取代,存在的唯一价值就是简洁方便
%=
-=
*=
/=
2.5关系运算符与表达式
生活中常见的关系运算符,大于小于 大于 大于等于 小于等于 不等于
> < == >= <= !=
10 == num
判断两个数是否相等,使用两个=号,与生活中常识不符
如何避免错误,就是把常量放在等式的前面,把变量放在等式的后面
绝对相等
变量的值和类型都相等,使用=== 来表示
绝对不相等
变量的值和类型都不相等,使用!== 来表示
var num = 2; var str = 2; alert(num !== str)
true
var num = 2; var str = 2; alert(num != str)
false
2.6逻辑运算符与表达式
与
两者同时成立结果才成立
第一个关系是true第二个关系也是true那么结果才是true
var num1 = 10; var num2 = 20; alert(num1 > 20 && num2 >10);
结果:false
&&
或
至少有一个关系为true那么结果就为true
js中用||来表示
var num1 = 10; var num2 = 20; alert(num1 > 20 || num2 > 10);
结果:true
非
结果为原生的对立面,就是当关系成立时,非之后就变为不成立。非true之后为false
在js中用!
var num = 10; alert(!(num > 10));
结果:true
2.7位运算符与表达式
如何得到一个数的二进制
var num = 5; //101 alert(num.toString(2))
同理得到一个数的其他进制数,改变toString中的值
与& ,两者同时为1(真)时取1,按位运算,不足的用0补
取二进制
5 101
6 110
得100
或 |
有1就取1
5 101
6 110
得111
异或 ^
相同为1或0则为0,不同则为1
5 101
6 110
得011
按位于运算的作用:
可以用于测试某一位是1还是0
设置某些位为0
按位或运算的作用:
设置某些位为1