js语言基础 之变量,数据类型与运算符

字面量和变量

字面量:

不可改变的量 对应变量 声明变量:var a;

var&let&const

通过 var 关键词声明的变量没有块作用域。可以使用let 关键词声明拥有块作用域的变量。

var声明的变量属于全局变量是window对象,且提升至顶端

var 在块中重新声明变量也会改变块外的变量

var x = 10;
// 此处 x 为 10
{ 
  var x = 6;
  // 此处 x 为 6
}
// 此处 x 为 6

let可以解决

var x = 10;
// 此处 x 为 10
{ 
  let x = 6;
  // 此处 x 为 6
}
// 此处 x 为 10

let ->块作用域

let i=10;
for(let i=0;i<10;i++)
    {
        *****
    }
//此处i=10,而i=0只在循环内可用
 

相同作用域,重复声明let变量是不允许的

let i=10;
var i=0; //不允许!!!

const

与let相似,但不可以被重新赋值,但可以修改数组里面的值

const p=1:
p=p+1;//出错
const cars=["a","b","c"];
cars[0]="cc";
//同样重新赋值给数组也是错误的
cars=["a","b"] //错误

const必须在声明时赋值

数据类型

js中一共有6种数据类型

string number Boolean null undefined object

string

eg:var str="hello"; <!--使用单引号或者双引号都一样-->

注意:引号不能嵌套 “我说“今天。。””

eg: str ='我说"今天。。"'

同样,可以使用“\”来转义 str ="我说:\"今天。。\""

同时,alert("str") 要有双引号或者单引号。

number

检查变量类型:typeof console.log(typeof b);

最大值:Number.MAX_VALUE 超过最大:Infinity

"NAN"=not a number console.log(typeof NAN)=number

js 计算浮点数时计算不准确 (二进制)

boolean

JavaScript中的两个基础的布尔类型的值:1.true 2.false

数值的 0、-0、特殊值的 null、NaN、undefined 以及空字符("")都会被解释为 false ,其他值则会被解释为 true

var bool=false; console.log(bool); false

运算符

算数运算符

字符串+数字=字符串

a="7"+8=78

i++ 先赋值后加 ++i 同时

var n1=10;
n=n1++;
//n=10;n1=11
 

逻辑运算符

非运算

可以用两次!!将数据类型转换为布尔值

var a=true;
a =!a; //取反操作
console.log("a="+a);
"a"=false
​
var b =10;
b=!b;//number变成了boolean 类型转换
 

与运算

如果两个值都为true,则返回后面的

如果两个值都为false,则返回前面的

var result = 2 && 1;
//result = 1
var result = 0 && 1;
var result = 1 && 0;
//result = 0
var result = NAN && 0;
//result = NAN
var result = 0 && NAN;
//result = 0
 

或运算

如果第一个值为true,则直接返回第一个值

如果第一个值为false,则直接返回第二个值

比较运算符

对于非数值进行比较时,会将其转换为数字在进行比较

console.log(1 >=true) //true
console.log(10 >=null) //true null=0
console.log(10 <="hello") //false   "hello"=NAN
//任何值与NAN比较都是false
console.log("1" > "2") //true
//如果两边都是字符串,会比较字符的Unicode的编码
 

任何值与NAN比较都是false

如果两边都是字符串,会比较字符的Unicode的编码

比较的时候时一位一位的比较

abc?cbc 如果两位一样,则比较下一位 ,借用英文排序

unicode编码

在字符串中使用转义字符输入\u+四位编码(六进制)

在网页中 使用 &#编码(注意这里是十进制)

相等运算符

== 比较两值,当两边类型不一样时,就转换为相同的类型,再比较。一般转换为number.

undefined 和null 相等

NAN不和任何值相等,包括其本身可以通过isNAN()函数判断是否时NAN

=== 全等 ,不会做类型转换

!== 不全等

条件运算符

条件表达式?语句1:语句2;

条件表达式运行结果为true,执行语句1,返回结果

为false,执行语句1,返回结果

eg:var max = a > b ?a:b;

符号优先级

&&优先于||

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值