JavaScript小白入门篇——直接量、变量、数据类型、运算符

JavaScript语法规则:

(1)每一条JavaScript语句都是一条发送给浏览器的指令

(2)JavaScript区分大小写

(3)所有特殊符号均为英文半角

(4)代码对空格、换行、缩进不敏感

1 直接量

直接量:又叫字面量,能够直接使用的内容,常见有的数值、字符串。

(1)数值:1,2,3,1.1,2.2,1.1,-1等

(2)字符串:程序中被单双引号包裹起来的的内容,都是字符串"hello wold"  'hello'  "你好"  '我好'...

(3)其它字面量:true  false  null   正则表达式

更多说明:alert("hello wolrd");//弹出警告框,内容为字符串字面量

alert(hi);alert(123);alert(true);

2 变量

变量:变化的量,将数据保存在内存中,存储数据。

(1)变量声明 var a;  

var为变量声明的关键字,a为变量;

(2)变量命名规则

区分大小写;变量名必须以字母、下划线或者$开头;变量的组成可以由字母、下划线、$或数字;不能使用关键字和保留字

(3)变量的赋值 

var a = 10;变量名=值;

(4)取出变量的值:使用变量名

(5)变量允许重复赋值

更多说明:

var a;//定义一个变量,并且命名为a

var A;

var $a;

var _a;

a=10; //将10赋值给变量a

alert(a);


alert(123);//数值123

alert('123');//字符串123


var a='hello';

console.log(a);//在控制台输出

console.log('world');


var a=10;//在内存中开辟空间,并且命名为a,然后将数据10存入开辟的空间中

console.log(a);

alert(a);

a=30;//变量的重复赋值

console.log(a);//就近原则


var a=10;

var b=20;

console.log(a,b);

var c=a;//将a变量的值赋值给变量c        变量值的传递

console.log(c);//c为10

a=30;

console.log(a,c);//变量a和c是独立的空间,a为30,c为10

c='hello';

console.log(c);//c为hello

3 数据类型

JavaScript是一门弱类型语言,在声明变量时,是没有数据类型的,一旦赋值之后,变量便有了数据类型。

(1)数值类型 number : 1,2,3,1.1,1.1111,-1  等

(2)字符串类型  string :被单双引号所包裹的内容  ""  '' 例如:'hello' 'world' '12' '1.2'

注意:字符串类型会原样输出   "3+5"  "^&(*(^*&^*(&(*%^*&&(&"

(3)布尔类型 boolean :true(真)  false(假)

(4)其它数据类型:  

undefined  (未定义)    当一个变量只声明未赋值时,类型未undefined

null (空)  

Object(对象类型、引用类型)

(5)判断变量的数据类型typeof

注意:类型检测的结果本身又是字符串类型 

console.log(typeof typeof a ) ; //值为:string

(6)基本数据类型(原始数据类型):number  boolean  string  undefined  null

(7)引用类型:Object  Function RegExp Array Date........

更多说明:

var a=10;//声明数值类型

var b='hello';//声明字符串类型

var c=typeof a;//"number"

var d=typeof b;//"string"

console.log(typeof c);//输出了一个表达式,本质为输出这个表达式的运算结果//string

console.log(typeof typeof a);//string

console.log(typeof typeof b);//string


var a=true;//声明一个布尔类型

var b=false;

console.log(typeof a);//boolean

console.log(typeof b);//boolean


var a;

console.log(a);//未定义 输出值为undefined

console.log(typeof a);//变量只声明,未赋值 输出值为undefined


//1.未定义,直接输出   值为error

console.log(a);//error  

//2. 变量只定义,未赋值   值为undefined

var a;

console.log(a);//值为undefined

console.log(b);

var b;//值为undefined

//3. 变量未定义,直接赋值,可以使用

a=20;

console.log(a);//值为20

//4.变量提升机制

a=10;

var a;

console.log(a);//值为10

//等同于如下代码    不推荐使用上述做法

var a;

a=10;

console.log(a);

5.var c=null;//空  什么都没有

console.log(typeof c);//引用类型  "object"

console.log(typeof typeof c);//值为string

var a=123;

console.log(typeof a);//值为number

console.log(typeof 123);//值为number

6.var a=NaN;// not a number

console.log(typeof a);//值为number

7.赋值语句遵循顺序结构

console.log(a);//undefined   

var a=20;

console.log(a);

//以上代码等同于

var a;

console.log(a);

a=20;

8.声明多个变量,多个变量之间用逗号隔开

var a,b,c;

a=10;

b=20;

c=30;

console.log(a,b,c);

var a1=10,a2=20,a3=50;

console.log(a1,a2,a3);

var b1,b2=10,b3;

console.log(b1,b2,b3);

4 运算符

1.运算符根据运算符两边操作数的不同,分为:一元运算符、二元运算符、三元运算符

2.按照功能不同分为:

(1)算术运算符:+(加法运算) -(减法运算) *(乘法运算) /(除法运算)%(取余运算)

一元运算符:++自增运算符 --自减运算符

运算符后置和前置:不出现赋值时,执行自增自减运算;出现赋值时,先赋值,后运算

注意:若+运算符两边的操作数只要有一个为字符串,则执行拼接操作

(2)赋值运算符:=  +=  -=  *=  /=  %=

(3)关系运算符(比较运算符):> <  ==  >=  <=   !=  ===(真等于,全等)  !==

关系运算符的运算结果为布尔类型true、false

注意:==只比较数值是否相等  ===不仅比较数值是否想等,还比较数据类型

(4)逻辑运算符:逻辑运算符的运算结果为布尔类型  true  false

|| (逻辑或):当两边的表达式运算结果有一个为真(true),则结果即为真(true),两边均为假(false),则为假

&&(逻辑与):仅当运算符两边的表达式结果均为真(true),则运算结果才为真(true)

!(非):取反


更多说明:

var a=10;

var b=20;

var c=a+b;

console.log(c);

console.log(a+b);

console.log(a*b);

console.log(a/b);//0.5

console.log(a-b);

console.log(a%b);//余数


var a=0.1;

var b=0.2;

console.log(a+b);//0.3000...000004

为什么操作小数会出现误差?
浮点数值的最高进度是17位小数,但在进行运算的时候其精确度却远远不如整数;整数在进行运算的时候都会转成10进制; 而Java和JavaScript中计算小数运算时,都会先将十进制的小数换算到对应的二进制,一部分小数并不能完整的换算为二进制,这里就出现了第一次的误差。待小数都换算为二进制后,再进行二进制间的运算,得到二进制结果。然后再将二进制结果换算为十进制,这里通常会出现第二次的误差。

浮点数值的最高进度是17位小数,但在进行运算的时候其精确度却远远不如整数;整数在进行运算的时候都会转成10进制; 而Java和JavaScript中计算小数运算时,都会先将十进制的小数换算到对应的二进制,一部分小数并不能完整的换算为二进制,这里就出现了第一次的误差。待小数都换算为二进制后,再进行二进制间的运算,得到二进制结果。然后再将二进制结果换算为十进制,这里通常会出现第二次的误差。 所以(0.1+0.2)!=03


var a='hello';

var b='world';

console.log(a+b);//字符串拼接

console.log('5'+3);//53

console.log(5+5+'3');//103   string

console.log('5'+5+3);// '55'+3

猜你喜欢

转载自blog.csdn.net/qq_42451979/article/details/80831769