Javascript学习

Javascript学习(一)

变量声明

通过关键字var、let、const来进行变量声明,这三种声明方式有区别,这里先不讲,后面会详情解释。由于js是一种弱类型语言,所以声明变量的时候并不需要指定类型。并且拥有动态类型(相同的变量可以拥有不同的类型)。

var a = ' zhangsan ' //字符串
var b = 1  //数字
var carname = new String;
var x=      new Number;
var y=      new Boolean;
var cars =   new Array;
var person = new Object;

数据类型

数据类型主要分为两种:基础数据类型和引用数据类型,他们的主要区别在于存储方式有所不同,基础数据类型:直接在对应空间中存入值,引用数据类型: 存储的是一个地址,而这个地址指向的空间存储的是数据内容。

基础数据类型

值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
注: Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。

var a = 1
var b = '1234haudu'
var c = true
var d
引用数据类型

对象(Object)、数组(Array)、函数(Function)。

运算符

算术运算符

加: +
减: -
乘: *
除: /
求余: %
js在做小数运算的时候由于进制之间的转换没有那么精确会导致计算损失一些精度
1、保留几位小数
2、先转成整数,运算完了再除回来变成小数

var a = 20
var b = 30
console.log((a + b) * b)
console.log(a % b)
console.log(0.2 + 0.6)
console.log((0.1 *10 + 0.7 * 10) / 10)
console.log(0.1 + 0.7)
逻辑运算符

与:&&
或: ||
非: !
运算符优先级,但是太麻烦可以不用记,遇到了就加括号

var a = 5, b = 3;
console.log(a > b && a == b) // false
console.log(a > b || a == b) // true
console.log(b > 0 && b < a) // true
console.log(!(b < a)) //false
关系运算符

大于: >
大于等于: >=
小于: <
小于等于: <=
等于: == (只需要值相等即可) === (必须要值与类型全等)
不等: !==

var a = 5, b = 3, c = 5
console.log(a == b) // false
console.log(a != b) // true
console.log(a > b) // true
console.log(a >= b) // true
console.log(a <= c) // true
console.log(3 == '3') // true  只需要值相等即可
console.log(3 === '3') // false  全等:不仅值要相等,类型也要相同,更加推荐使用这个

类型转换

显式转换

通过es6提供的一些方法来主动进行数据类型转换

var str = '124x3.24343'
console.log(str)
// 遇到第一个小数点或者除数字以外的其他字符后半部分就直接舍弃
console.log(parseInt(str)) // 124   只保留整数部分

var str1 = '23.3y2.354'
// 遇到第二个小数点或者非数字字符就舍弃后半部分
console.log(parseFloat(str1)) // 23.3

// Number 只要不是数字规范的字符串结果就是NaN
// parseInt和parseFloat只有第一个字符就不是数字才会得到NaN
console.log(Number(str)) // NaN
隐式转换

通过逻辑运算等方式来进行转换

var a = 2, b = '3'
console.log(a + b) // a先隐式转换成字符串,再去加上b,完成字符串拼接,结果 23
console.log(b - 1) // b先隐式转换成数字3,再去减1,结果 2
console.log(b - 0) // 把字符串转换为数字类型,  结果 3

NaN(not a number)

NaN 的数据类型是一个number,是数字中的一个特殊值

console.log(typeof NaN)  //number
// NaN不能拿来做比较的,NaN跟任意数据比较相等结果都是false
console.log(parseInt('abc') == NaN,parseInt('abc'),NaN) // false
// 判断NaN需要使用isNaN方法
console.log(isNaN(parseInt('abc'))) // true       isNaN():判断是不是NaN
// NaN和任意数据运算结果都是NaN
console.log(NaN + 1) // NaN
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值