JS程序设计基础:变量,算术、关系、赋值、复合赋值、逻辑、位运算符与表达式
2017-07-25 20:05
537 查看
程序设计基础
1.数据类型与变量
计算机程序就是去处理现实中的各种数据
数据的几个属性:名称、值、类型
名称是月销量,值是47,数值
名称是大小,值是“190x100mm”,字符串
名称是是否包邮,值是“是”,布尔类型
数值:number
字符串:string
布尔类型:boolean
alert() 警告提示框(打印)
typeof() 数据的类型
为什么要有数据类型?
生活中是存在不同的数据类型的,计算机要解决生活问题,那么它就和生活中的数据类型产生了映射,所以有了数据类型。
数值类型的表现形式:
十进制:23,3.14;
八进制:023;(19)
十六进制:0x23;(35)
科学计数法:3e2(2x102);3.5e-2(3.5x10-2)
为什么要有变量?
因为生活中一些数据不是一成不变的,它的值会改变,所以JS里面有了变量和它的相对应。
变量:var
var
name =
"张三";
var variable的缩写变量的意思。声明一个变量。
变量名:
name 变量名
命名的规则:
1.关键词不能用
var
var =
"张三;
2.一般情况下,只用英文开头,也可以是$和_,但是不建议使用
3.不能用数字开头,因为和8进制、26进制会产生冲突
var
1name
= "张三";
命名的原则:见名思义。
规范:
(1)尽量使用英文单词或者组合,或者专业名词
weight color
filename(驼峰命名法)
(2)尽量不要使用拼音
weight1
= "中等";
weightl =
123;
alert(weight1);
此处输出不是预期的123,而是“中等”,原因是两个拼写不同,而且不会报错。
如果使用严格模式,明显可以看到第二个变量拼写错误。
变量的值:
变量的类型是由变量的值来决定的。
系统会为不同的类型分配不同的大小来存储数据。
如果是布尔类型就分配一个字节的大小来存储
如果是数字和字符串类型,那么根据他的大小和长度来分配字节数来存储。
JS是弱类型语言,所有的类型的变量都用var来声明。
JS是动态类型的语言,变量的类型会根据值的变化而变化,不会出错。
变量就是一个内存单元。
var
weight =
65;
weight
= weight -
5;
用本质解释var
weight =
65;:
把名字为weight的内存单元的值65取出来,再和5进行减法运算,然后把得到的结果再放回到名字为weight的内存单元中。
JS语言特点:
更加高级,不严谨。
weight =
“中等”;
alert(weight);
变量不用声明就可以用。
使用严谨的格式,就必须先定义变量才能使用变量。
"use strict"
var weight
= “中等”;
alert(weight);
name 这个名字是特殊的,使用name来给变量起名字时,它不会报错。
2.对象类型
对象在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));
alert(typeof
(dog.name));
alert(typeof
(dog.age));
alert(typeof
(dog.marry));
3.算术运算符与表达式
常见的算术运算符有
+ - × ÷
对应在JS中的运算符 + - * /
加法运算:(数值)
var
weight =
65;
weight = weight
+ 10;
alert(weight);
字符串拼接:(字符串)
var
dogName =
"zhangsan";
dogName = dogName
+ "feng";
alert(dogName);
乘法运算:(数值)
var
weight =
65;
weight = weight
* 10;
alert(weight);
减法运算:(数值)
var
weight =
65;
weight = weight
- 10;
alert(weight);
除法运算:(数值)
var
weight =
65;
weight = weight
/ 10;
alert(weight);
取余运算符在JS中用%表示。作用:得到两个数的余数
var
num1 =
10;
var num2
= 3;
var result
= num1 % num2;
alert(result);
使用技巧:可以解决周期性问题。
var
date =
2;/*计算12天后是星期几*/
date = date
+ 12 %
7;
++自增1
num++。等价于num=num + 1;
本身是可以不存在,使用基本运算就能代替。它存在的唯一价值就是简单,便捷。
num++和++num的区别:
a = num++;
a = ++num
num++是先用后加:
var
num1 =
1;
alert(num1++);
等价于:
alert(num1);
num1 = num1
+ 1;
++num是先加后用:
var
num1 =
1;
alert(++num1);
等价于:
var
num1 =
1;
num1 = num1
+ 1;
alert(num1);
4.赋值运算符与表达式
将一个数据赋值给一个变量。
赋值运算是表示将一个数据存储到某个内存单元中(变量)
var
name =
10;
复合赋值运算符:
num
= num +
1;
num +=
1;//两者完全等价
+=可以不存在,完全由普通运算符取代,存在的唯一价值就是简洁方便。
-=
var
num =
10;
num -=
10;
alert(num);
*=
var
num =
10;
num *=
10;
alert(num);
/=
var
num =
10;
num /=
10;
alert(num);
%=
var
num =
10;
num %=
10;
alert(num);
注:如果不理解这个复合赋值运算符,那么就不要用,直接用普通运算符。
5.关系运算符与表达式
生活中常见的关系运算符:
大于 小于 等于 大于等于 小于等于 不等于
> < == >= <= !=
判断两个数是否相等:使用两个=,与生活中常识不符合;
如何避免判断两个数相等时出错:把常量放在等式前面,
变量放在等式后面。
绝对相等:
变量的值和类型都相等,使用===来表示。
绝对不相等:
变量的值和类型都不相等,使用!==来表示。
var
num1 =
2;
var num2
= "2";
alert(num1
!== num2);
对比不相等:
var
num =
2;
var str
= "2";
alert(num
!= str);
6.逻辑运算符与表达式
与:两者同时成立结果才成立。
第一个关系是true
第二个关系也是true
那么结果才是true;
如果有一个或多个为false是,结果为false。
在JS中用&&表示
var
num1 =
10;
var num2
= 20;
alert(num1
< 20 && num2
> 10);
显示结果:
或:至少有一个成立,那么结果成立。
就是一个关系为true那么结果就为true。
在JS中用||来表示
var
num1 =
10;
var num2
= 20;
alert(num1
> 20 || num2
< 10);
显示结果:
非:结果为原身的对立面,就是当关系成立时,非之后就变为不成立。
非true之后结果变为false。
在JS中用!表示
var
num =
10;
alert(!(num
>10));
显示结果:
7.位运算符与表达式
如何得到一个数的二进制?
var
num =
5;
//101
alert(num.toString(2));
同理得到一个数其他进制数,改变.toString里面的值
与:
首先要把数转化为二进制数
运算法则,只有两者同时为1是结果才为1,其余结果均为0
按位运算,不足的在二进制前补0。例如:计算5和6的与运算
5:101
6:110
结果:100
var
num1 =
5;
var num2
= 6;
alert(num1.toString(2) &
num2.toString(2));
或:
两个数有一个为1,那么结果就为1然后按位运算
5:101
6:110
结果:111
var
num1 =
5;
var num2
= 6;
alert(num1.toString(2) |
num2.toString(2));
异或:
两个值相同时结果同时为0,两个值不同时结果为1.
var
num1 =
5;
var num2
= 6;
alert(num1.toString(2) ^ num2.toString(2));
按位与运算的作用:
(1)测试某一位是0还是1;
1100010000101011
0000000000001000
(2)设置某一位为0;
1100010000101011
1111111111110111
X&1 = X(X表示一位二进制,可能是0或者1)
X&0 = 0
按位或运算的作用:设置某些位为1
1100010000101011
0000000000010000
X|0 = X
X|1 = 1
按位异或运算的作用:
X^1 = X(反)
X^0 = X
1.数据类型与变量
计算机程序就是去处理现实中的各种数据
数据的几个属性:名称、值、类型
名称是月销量,值是47,数值
名称是大小,值是“190x100mm”,字符串
名称是是否包邮,值是“是”,布尔类型
数值:number
字符串:string
布尔类型:boolean
alert() 警告提示框(打印)
typeof() 数据的类型
为什么要有数据类型?
生活中是存在不同的数据类型的,计算机要解决生活问题,那么它就和生活中的数据类型产生了映射,所以有了数据类型。
数值类型的表现形式:
十进制:23,3.14;
八进制:023;(19)
十六进制:0x23;(35)
科学计数法:3e2(2x102);3.5e-2(3.5x10-2)
为什么要有变量?
因为生活中一些数据不是一成不变的,它的值会改变,所以JS里面有了变量和它的相对应。
变量:var
var
name =
"张三";
var variable的缩写变量的意思。声明一个变量。
变量名:
name 变量名
命名的规则:
1.关键词不能用
var
var =
"张三;
2.一般情况下,只用英文开头,也可以是$和_,但是不建议使用
3.不能用数字开头,因为和8进制、26进制会产生冲突
var
1name
= "张三";
命名的原则:见名思义。
规范:
(1)尽量使用英文单词或者组合,或者专业名词
weight color
filename(驼峰命名法)
(2)尽量不要使用拼音
weight1
= "中等";
weightl =
123;
alert(weight1);
此处输出不是预期的123,而是“中等”,原因是两个拼写不同,而且不会报错。
如果使用严格模式,明显可以看到第二个变量拼写错误。
变量的值:
变量的类型是由变量的值来决定的。
系统会为不同的类型分配不同的大小来存储数据。
如果是布尔类型就分配一个字节的大小来存储
如果是数字和字符串类型,那么根据他的大小和长度来分配字节数来存储。
JS是弱类型语言,所有的类型的变量都用var来声明。
JS是动态类型的语言,变量的类型会根据值的变化而变化,不会出错。
变量就是一个内存单元。
var
weight =
65;
weight
= weight -
5;
用本质解释var
weight =
65;:
把名字为weight的内存单元的值65取出来,再和5进行减法运算,然后把得到的结果再放回到名字为weight的内存单元中。
JS语言特点:
更加高级,不严谨。
weight =
“中等”;
alert(weight);
变量不用声明就可以用。
使用严谨的格式,就必须先定义变量才能使用变量。
"use strict"
var weight
= “中等”;
alert(weight);
name 这个名字是特殊的,使用name来给变量起名字时,它不会报错。
2.对象类型
对象在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));
alert(typeof
(dog.name));
alert(typeof
(dog.age));
alert(typeof
(dog.marry));
3.算术运算符与表达式
常见的算术运算符有
+ - × ÷
对应在JS中的运算符 + - * /
加法运算:(数值)
var
weight =
65;
weight = weight
+ 10;
alert(weight);
字符串拼接:(字符串)
var
dogName =
"zhangsan";
dogName = dogName
+ "feng";
alert(dogName);
乘法运算:(数值)
var
weight =
65;
weight = weight
* 10;
alert(weight);
减法运算:(数值)
var
weight =
65;
weight = weight
- 10;
alert(weight);
除法运算:(数值)
var
weight =
65;
weight = weight
/ 10;
alert(weight);
取余运算符在JS中用%表示。作用:得到两个数的余数
var
num1 =
10;
var num2
= 3;
var result
= num1 % num2;
alert(result);
使用技巧:可以解决周期性问题。
var
date =
2;/*计算12天后是星期几*/
date = date
+ 12 %
7;
++自增1
num++。等价于num=num + 1;
本身是可以不存在,使用基本运算就能代替。它存在的唯一价值就是简单,便捷。
num++和++num的区别:
a = num++;
a = ++num
num++是先用后加:
var
num1 =
1;
alert(num1++);
等价于:
alert(num1);
num1 = num1
+ 1;
++num是先加后用:
var
num1 =
1;
alert(++num1);
等价于:
var
num1 =
1;
num1 = num1
+ 1;
alert(num1);
4.赋值运算符与表达式
将一个数据赋值给一个变量。
赋值运算是表示将一个数据存储到某个内存单元中(变量)
var
name =
10;
复合赋值运算符:
num
= num +
1;
num +=
1;//两者完全等价
+=可以不存在,完全由普通运算符取代,存在的唯一价值就是简洁方便。
-=
var
num =
10;
num -=
10;
alert(num);
*=
var
num =
10;
num *=
10;
alert(num);
/=
var
num =
10;
num /=
10;
alert(num);
%=
var
num =
10;
num %=
10;
alert(num);
注:如果不理解这个复合赋值运算符,那么就不要用,直接用普通运算符。
5.关系运算符与表达式
生活中常见的关系运算符:
大于 小于 等于 大于等于 小于等于 不等于
> < == >= <= !=
判断两个数是否相等:使用两个=,与生活中常识不符合;
如何避免判断两个数相等时出错:把常量放在等式前面,
变量放在等式后面。
绝对相等:
变量的值和类型都相等,使用===来表示。
绝对不相等:
变量的值和类型都不相等,使用!==来表示。
var
num1 =
2;
var num2
= "2";
alert(num1
!== num2);
对比不相等:
var
num =
2;
var str
= "2";
alert(num
!= str);
6.逻辑运算符与表达式
与:两者同时成立结果才成立。
第一个关系是true
第二个关系也是true
那么结果才是true;
如果有一个或多个为false是,结果为false。
在JS中用&&表示
var
num1 =
10;
var num2
= 20;
alert(num1
< 20 && num2
> 10);
显示结果:
或:至少有一个成立,那么结果成立。
就是一个关系为true那么结果就为true。
在JS中用||来表示
var
num1 =
10;
var num2
= 20;
alert(num1
> 20 || num2
< 10);
显示结果:
非:结果为原身的对立面,就是当关系成立时,非之后就变为不成立。
非true之后结果变为false。
在JS中用!表示
var
num =
10;
alert(!(num
>10));
显示结果:
7.位运算符与表达式
如何得到一个数的二进制?
var
num =
5;
//101
alert(num.toString(2));
同理得到一个数其他进制数,改变.toString里面的值
与:
首先要把数转化为二进制数
运算法则,只有两者同时为1是结果才为1,其余结果均为0
按位运算,不足的在二进制前补0。例如:计算5和6的与运算
5:101
6:110
结果:100
var
num1 =
5;
var num2
= 6;
alert(num1.toString(2) &
num2.toString(2));
或:
两个数有一个为1,那么结果就为1然后按位运算
5:101
6:110
结果:111
var
num1 =
5;
var num2
= 6;
alert(num1.toString(2) |
num2.toString(2));
异或:
两个值相同时结果同时为0,两个值不同时结果为1.
var
num1 =
5;
var num2
= 6;
alert(num1.toString(2) ^ num2.toString(2));
按位与运算的作用:
(1)测试某一位是0还是1;
1100010000101011
0000000000001000
(2)设置某一位为0;
1100010000101011
1111111111110111
X&1 = X(X表示一位二进制,可能是0或者1)
X&0 = 0
按位或运算的作用:设置某些位为1
1100010000101011
0000000000010000
X|0 = X
X|1 = 1
按位异或运算的作用:
X^1 = X(反)
X^0 = X
相关文章推荐
- 第五章 表达式(part1) 算术、关系、逻辑、位、赋值
- C++ Primer 学习笔记_16_表达式 --算术、关系、逻辑、位、赋值、自增/自减操作符
- java语言基础(13)——运算符基本用法(算数、赋值、比较、逻辑、位运算符)
- Python学习入门基础教程(learning Python)--3.3.3 Python逻辑关系表达式
- dos定义变量算术运算逻辑运算表达式分隔符
- Visual Basic 2008 运算符(算术、关系、逻辑、字符串连接、赋值、移位)——汇总
- 一个讨论引发关于js中函数声明,函数表达式,形参与变量声明赋值引发的一些事
- 一个讨论引发关于js中函数声明,函数表达式,形参与变量声明赋值引发的一些事(http://www.cnblogs.com/zhouyongtao/archive/2012/11/22/2783089)
- Python基础0:变量 赋值 表达式和运算符
- PTA 表达式转换 算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。
- PHP_零基础学php_2变量、预定义变量、预定义常量、表达式、运算符、程序控制流程
- JS程序设计基础总结
- MOOC 程序设计基础(C&C++) 戴波、张东祥 第二章 数据类型与表达式 作业
- PHP_零基础学php_2变量、预定义变量、预定义常量、表达式、运算符、程序控制流程
- JAVA_Day_03(算术 赋值 关系 逻辑 三元运算符 if语句 )
- js程序设计基础
- C语言算术、赋值、关系、逻辑运算详细剖析---
- linux——Shell 脚本基础篇(变量类型,变量操作,定义,运算与逻辑关系)
- JAVA基础——初识JAVA(四)(Scanner、算术、赋值、比较、逻辑、三元运算符、优先级)
- 程序设计基础(C&C++) 戴波、张东祥 第二章 数据类型与表达式 编程作业