JS之程序设计基础

常规数据类型与变量

现实生活中的数据

比方说淘宝的商品描述:
数据的几个属性:名称、值、类型
数据 名称 值 类型
价格 1399.00 数值类型
累计评论 345 数值类型
是否支持7天无理由退货 是 逻辑类型
机身颜色 “黑色” 字符串类型

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)字符串:字符串是存储字符的变量。
var name:“淘宝”
(3)布尔型:布尔(逻辑)只能有两个值:true 或 false。
var x = true

变量:

var variable的缩写变量的意思。声明一个变量,变量就是一个内存单元。

1、命名的规则:
(1) 可以有字母、数字、下划线和$组成
(2) 数字不能开头(?)
(3) 关键字不能用
var var = “淘宝”;

2、一般情况下,只用英文开头 也可以是$和_,但是不建议使用
不能用数字开头。因为和8进制 16进制会产生冲突。
var 1name = “淘宝”;

3、命名的原则:见名思义。
规范:
(1)尽量使用英文单词或者组合,或者专业名词
weight color
fileName(驼峰命名法)
(2)尽量不要使用拼音

变量的值

变量的类型是由变量的值来决定的。
系统会为不同的类型分配不同的大小来存储数据。
如果是布尔类型就分配一个字节的大小来存储
如果是数字和字符串,那么根据他的大小和长度来分配字节数来存储。
JS是弱类型语言,所有的类型的变量都用var来声明。
JS是动态类型的语言,变量的类型会根据值的变化而变化,不会出错。

JS语言特点:

更加高级,不严谨。
weight = “中等”;
alert(weight);
变量不声明就可以使用。
使用严谨的格式,就必须先定义变量才能使用变量。
“use strict”;
Var weight = “中等”;
alert(weight);
Name 这个名字是特殊的,使用name来给变量起名字时,他不会报错。
留作课下的思考。
weight1 = “中等”;
weightl = 123;
alert(weight1);
此处输出不是预期中的123,而是“中等”,原因是两个拼写不同很相似,而且不会报错。如果使用严格模式,明显可以看到第二个变量拼写错误。

对象类型

对象在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当中的运算符为 + - * /
运算的的前提条件是数值才能进行运算,如果不是数值进行加减乘除运算时就会出错。
加法运算:(数值)

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

赋值运算符与表达式

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

var num = 10;

复合赋值运算符有+=、-=、*=、/=、%=

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

关系运算符与表达式

生活中常见的关系运算符
大于 小于 等于 大于等于 小于等于 不等于

<    ==    >=       <=       !=

判断两个数是否相等 使用两个=号。与生活中常识不符合,
如何避免判断两个数相等时出错。就是把常量放在等式的前面
把变量放在等式的后面。
绝对相等
变量的值和类型都相等,使用 === 来表示
绝对不相等
变量的值和类型都不相等,使用!==来表示

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

对比不相等

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

逻辑运算符与表达式

两个条件同时成立结果才成立
第一个关系是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));

位运算符与表达式

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值