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>

 alert()  警告提示框 (暂时可以用作输出数据)

(2)字符串

Typeof() 数据的类型

为什么要有数据类型?

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

为什么要有变量?

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

变量:

var name= "曹鹏飞";

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

变量名

Name  变量名

命名的规则:

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

2、数字不能开头(?)

3、关键字不能用

作业 :总结一下js里面的关键字!

var var = "曹鹏飞";

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

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

var 1name = "曹鹏飞";

命名的原则:见名思义。

规范:

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

weightcolor

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);

Name这个名字是特殊的,使用name来给变量起名字时,他不会报错。

weight1 = "中等";
weightl = 123;
alert(weight1);

此处输出不是预期中的123,而是“中等”,原因是两个拼写不同很相似,

,而且不会报错。如果使用严格模式,明显可以看到第二个变量拼写错误。

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;

为什么有对象?

和为什么有数据类型是一样的。就是生活中处处都是对象,所以JS中有这种对象类型。

如何使用对象里面的属性?

使用对象名+.+对象属性名

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 ;

++自增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);

2.4赋值运算符与表达式

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

5==a

5=a

a==5

a=5

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

var num = 10;

复合赋值运算符

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

在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));

2.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& num2).toString(2));

或 两个数有一个为1那么结果就为1然后按位运算

var num1 = 5;
var num2 =6;
//101
//110
//111
 
alert(num1.toString(2) | num2.toString(2));

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

var num1 = 5;
var num2 =6;
//101
//110
//011
 
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

JavaScript中的运算符和表达式相关推荐

  1. JavaScript中delete运算符

    JavaScript中delete运算符是 从对象中删除一个属性,或从数组中删除一个元素. 使用方法: delete expressionwww.mlybyby.com expression 参数是一 ...

  2. 信工干货||C语言中的运算符和表达式

    C语言中的运算符和表达式 1算术运算符及表达式 (1)算术运算符包括: ,-,*,/,%. (2)*,/,%同级,比 ,-高. (3)"%"运算符两侧的运算分量必须为整型数据,且运 ...

  3. JavaScript中的运算符和语句

    一.JavaScript的运算符 a.基本的算术运算符(+.-.*./.%) -.*./.%运算符会在必要的时候将操作数转换为数字,无法转换成数字的操作数将会转换成NaN,相应的运算结果也是NaN. ...

  4. javascript中的||运算符

    在Java和c++中||运算符返回的结果为布尔值,而在JavaScript中,||不一定返回布尔结果,它的运算规则为:返回第一个不为false的那个值(对象亦可),或者是返回最后一个值(如果全部都是f ...

  5. JavaScript中加号运算符+ 运算过程理解

    在JavaScript中二元加法运算符"+"可以对两个数字或者字符串进行连接操作. 1+2=>3 "hello"+" "+" ...

  6. 在javascript中使用el表达式(jsp中的javascript中支持写el表达式,毋庸置疑,单独的js文件中不支持写el表达式,别钻牛角尖)

    哎,够背的,最后4张图怎么调整都很小,看不清楚,所以大家还是看我这篇文章吧在javascript中使用el表达式(图片清晰版,有图有真相),这篇文章的图片可以正常看清楚,跟我这篇文章是一样的内容! 有 ...

  7. c语言中的运算符和表达式试卷答案,c语言试卷和答案1

    一. 判断题(每题1分,共10分) (1) C语言程序的三种基本结构是顺序.选择和嵌套. (2) 在C语言程序中,在函数内部定义的变量称为全局变量. (3) 运算符 "=" 和 & ...

  8. python中运算符号怎样表示_Python中的运算符与表达式

    你所编写的大多数语句(逻辑行)都包含了表达式(Expressions).一个表达式的简单例子便是 2+3.表达式可以拆分成运算符(Operators)与操作数(Operands). 运算符(Opera ...

  9. Python中的运算符与表达式 1

    你所编写的大多数语句(逻辑行)都包含了Python表达式(Expressions).一个表达式的简单例子便是 2+3.表达式可以拆分成运算符(Operators)与操作数(Operands). 运算符 ...

最新文章

  1. awk应用小结(所有命令行均经调试)
  2. lamp环境搭建经验总结
  3. 人工智能不是计算机领域能学么,华南理工大学《高级人工智能》考试真题1
  4. Git教程学习总结(分享给热爱学习的你,团队的协作离不开你呀)
  5. linux中vi模式中c命令,“Linux”系统中“vi ^C ”命令是什么意思?
  6. cocos2d-x 3.2 DrawNode 绘图API
  7. 学以致用------韩顺平老师说(如果不能学以致用,那就是白费。等于没学。贪多嚼不烂。)---无内容...
  8. orcadcapture安装_OrCAD Capture CIS初学者快速上手指导教程
  9. 玩转华为ENSP模拟器系列 | 合集
  10. (二)如何使用Progress Bar
  11. windows删除文件夹时提示:你需要权限来执行此操作
  12. Web端网页QQ临时会话在线咨询
  13. viewBag和viewData区别
  14. Android通知——Notification
  15. java数据结构课程设计_java数据结构课程设计
  16. OPENCV(四)对图像进行水平投影和竖直投影
  17. idea上传代码到gitee出现的问题及解决办法
  18. Tomcat原理和源码分析
  19. 004 json介绍
  20. 上位机开发(架构设计)

热门文章

  1. 省市2级联动静态代码,需要时候COPY下
  2. 现在最暴利的行业是什么?
  3. iOS -- ipad横屏应用的设置
  4. 用python绘制漂亮的图形
  5. 【有限元仿真】ABAQUS人工能量-ALLVD
  6. 微信访问外链无法分享给朋友或朋友圈、且不支持开放标签
  7. Windows Store apps开发[40]Windows 8开发书籍之Programming Windows®, 6th Edition
  8. AI技术如何打造智能客服
  9. 《程序是怎样跑起来的》
  10. DIY BROADCAST : How to build your own Internet TV Channel with Open-Source other goodies