js基本概念

关键字保留

关键字是语言保留,不能作为标识符

break do instanceof typeof
case else new var
catch finally return void
continue for switch while
debugger* function this with
default if throw
delete in try

声明变量

声明变量用var,注意,用var操作符定义的变量将成为该变量作用域中的局部变量,也就是说,在一个函数中使用var定义一个变量,那么退出这个函数之后这个变量就会被销毁。,例如:

function test(){
   var a = "message";
    }
test();
alert(a);//控制台返回信息:Uncaught ReferenceError: a is not defined

可以一条语句定义多个变量,eg:

var a="111",
     b="222",
      c="333";

数据类型

  1. 有五种基本数据类型

Undefined、null、boolean、number、string

  1. 一种复杂数据类型

object,本质是有一组无序的名值对组成

  1. typeof操作符
var msg = "ask me!";
    age = 29;
console.log(typeof(mgs));//返回string
console.log(ypeof(age));//返回number

1.null和undefined都是只有一个值
2. boolean有两个值,分别是true和false,注意这两个值是区分大小写的, True和False以及其他混合大小写的形式,都不是布尔值,只是标识符。
3.浮点数值需要的内存空间是保存整数倍数值的两倍,所以没有特殊要求,数值都作为整数值保存。
4.对于极大或者极小的数值,可以用e表示法,用e表示法的数值等于e前面的数值乘以10的指数次幂。eg:var floatN = 2.512e2,输出251.2。比如0.0003,可以用3e-4表示,0.0012,可以用12e-4表示。

问题:0.1+0.2不等于0.3,等于0.30000000000000004,但是0.15+0.25=0.4;为什么?

  1. 数值范围 isFinite()函数

ECMAScript并不能保存世界上所有的数,最大值是1.7976931348623157e+308,最小值5e-324,如果某次计算的数值超过这个范围,那么将会返回特殊值Infinity,如果是正数,数值是正无穷(+Infinity),如果是负数,则是负无穷(-Infinity),并且在这次计算中的值将无法参与下一次计算,如果想要确定一个数值是否有穷,可以调用isFinite()函数,返回true,则为有穷。

var maxN = Number.MAX_VALUE;
var minN = Number.MIN_VALUE;
var num1 = Number.MAX_VALUE + Number.MIN_VALUE;
var num2 = Number.MAX_VALUE + Number.MAX_VALUE;//false

console.log(maxN);//1.7976931348623157e+308
console.log(minN);//5e-324
console.log(num1);//1.7976931348623157e+308
console.log(num2);//Infinity
console.log(isFinite(num1));//true
console.log(isFinite(num2));//false
  1. isNaN()

NaN除以任何非数值都是NaN,并且与任何值都不相等,包括他本身。isNaN()函数会强制参数转换成数值,如果不能转换,则返回true。

console.log(isNaN(10));//false
console.log(isNaN("10"));//false
console.log(isNaN("aaa"));//true
console.log(isNaN(true));//false,此处转换成数值是1
  1. 数值转换,Number()、parseInt()、parseFloat()

1.number()会把数值转换成为十进制数。、null值返回0,undefined返回NaN,boolean值返回1和0,如果都不是以上类型值,返回NaN。
2.parseInt(参数一,参数二),参数一为你要转换的数值,参数二为转换时使用的基数,即多少进制。
3.parseFloat()只解析十进制,所有十六进制的默认转化为0,一直解析到字符串末尾,指导解析到一个无效的浮点数字符为止。

  1. 字符串转换方法toString()、String()

1.基本上所有的值都有toString()方法,null和undefined除外,默认数字是以十进制返回数值字符串,也可以传递参数,eg:toString(2);
2.在不确定要转换的值是不是null和undefined的情况下,使用转型函数string(),如果被转换的值有toSrting方法,则调用并返回相应值,而null和undefined则返回这两个值的字面量。

var text = null;
var test = toString(text);//[object Undefined]
var test1= String(text);//null
  1. object


    js基本概念_第1张图片
    微信图片_20180513230407.jpg

操作符

  1. 一元操作符

递减操作符和递增操作符,分别有前置型和后置型。

//前置型,位于操作的变量之前
var a =20 ;
    ++a;//21
    --a;//20;
  c = ++a +2;//23
//后置型,位于操作的变量之后
var b = 20;
  b++;//21
  b--;//19
c = b-- +2 ;//22

递增递减遵循规则

js基本概念_第2张图片
411351264067176429.jpg

  1. 一元加和减操作符

一元加和减操作符主要用于表示正负数,遵循规则同上

取模,用%表示,就是求余数

var a = 28%5;//3

加性操作符

1.减法,false转换成0,true转换成1,含有NaN的返回NaN,null被转换成0
2.加法,除了以上规则除外,数字与字符串相加,则为拼接字符串。

关系操作符

js基本概念_第3张图片
154362186790582773.jpg

相等操作符

js基本概念_第4张图片
611636961596896882.jpg

条件操作符

b = 2;
    c =3;
    num1 = true;
    num2 =false;
    var a = (b>c)?num1:num2;
  
    console.log(a);

以上为条件操作符,根据b>c返回结果给a赋值,如果b>c返回true,则a赋值num1,如果b>c返回false,则a赋值num2

赋值操作符

赋值操作符用“=”表示,=右边的值赋值给左边,如果=右边有其他操作,则完成右边的操作之后再赋值给左边。

逗号操作符

逗号操作符不常见,可以用在声明变量和赋值当中

var a=1,b=2,c=3;
var num= (1,2,3);//num返回值3

未完待续。。。。。。

你可能感兴趣的:(js基本概念)