javascript---标识符,常量、变量

JavaScript起源:

    是由Netscape公司(网景)发明的,它是一种描述性语言,与java语言没什么关系,只是在结构和语法上与Java类似,与当初的sun公司是一个联盟,所以起名Javascript。javaScript作为一个草案提交 给ECMA(欧洲计算机制造商协会),该协会发布了名为ECMAScript的全新脚本语言(ES6),es6是新标准一些老版本的浏览器可能不支持。

1)Javascript环境搭建:

1、在浏览器中嵌套编写运行,写在html页面中

2、脱离浏览器运行,需要安装node.js这个运行环境,再安装一个javascript的ide工具如:webstorm

2)Javascript的标识符和关键字:

标识符:就是给变量、函数和对象指定的名字

1、javascript语言是区分大小写的

2、标识符的首字符以下划线(_)、美元符号($)、或者字母开头,不能以数字开头

3、标识符中其它字符可以是下划线、美元符号、字母或者数字组成,标识符也可以是汉字

关键字:

系统定义好的关键字

3)常量和变量:

常量定义:const NUM=100;

变量:var score=0.0; 

或者(ES6中新增加的)let x=10,y=true;  (弱类型语言,申明的时候不需要指定变量类型)

var s = 'Hello word.';
console.log(s);
const NUM = 101;

console.log(NUM);
var x = 111, y = 10;
console.log(x);
console.log(y);

let和var的区别:

1、变量提升


console.log(a);
var a='123';   //输出:undefined

console.log(b);
let b='321'   //报错

2、作用域:

var声明的变量,它的作用域是全局的

let声明的变量,它的作用域是在一个块。

for (var n=0;n<3;n++){

    console.log(n);

}
console.log("n= "+n);  //n= 3

for (let i=0;i<3;i++){

    console.log(i);

}
console.log("i= "+i);  //报错i没有定义

4)注释:

单行注释://

多行注释:/*......*/

5)javascrip的数据类型:数值类型、布尔类型、字符串类型、对象类型、数组类型5种(另一个教程中说是6种类型:原始类型5种:number、string、boolean、null、undefined,对象类型1种(object):Function、Array、Date...等)

数值类型:包括整数和浮点数

整数:十进制、十六进制(0x开头)、八进制(0开头)

浮点数:必须包含一个数字、一个小数点或"e"("E")

var num=10,num1=0xA,num2=010;num3=1.2e10,num4=2E-10;

console.log(num);
console.log(num1);
console.log(num2);
console.log(num3);
console.log(num4);

运行结果:

10
10
8
12000000000
2e-10

布尔类型:有两种值true和false

字符串类型:封装在双引号或者单引号之间

var s1='hello word';
var s2="hello word!";
console.log(s1);
console.log(s2);

对象类型:

用new生成一个新的对象,创建一个对象:

var currentDay=new Data();
console.log(currentDay);

数组类型:

数组类型Array也是一个对象,可以通过var arr=new Array(3)语句来创建,3是指数组元素个数是3

var ary=new Array(3);
console.log(ary);   //输出[ <3 empty items> ]
console.log(ary[0]);//输出undefined
console.log(ary.length);//输出长度为3

6)数据类型字面量:

数据类型字面量:是在程序中使用的字符表示(某种数据类型如何写出来)

整数:12

浮点数:1.2

字符串:“hello world”

布尔类型:true\false

对象:{height:10,width:20}

数组:[1,2,3,4,5]

不存在的对象:null


7)数据类型转换:

1、转换成字符串 :使用tostring()方法,一个参数表示要转换成的进制

var found=10
console.log(found.toString(2));  //转换成二进制
console.log(found.toString(8));
console.log(found.toString());
console.log(found.toString(16));

运行结果:

1010
12
10
a

2、转换成数字;使用parseInt(),parseInt第一个参数表示要转换的值,第二个字符串表示转换成什么进制;parseFloat()转换成浮点类型

var num=parseInt('10',2);
var num1=parseInt('AF',16);
var num2=parseInt('AF',2);
var num3=parseFloat("1000.033DFS");
var num4=parseFloat("1.2E10");
console.log(num);
console.log(num1);
console.log(num2);
console.log(num3);
console.log(num4);

运行结果:

2
175
NaN   //表示没有意义
1000.033
12000000000

3、强制类型转换:三种:Boolean(value)\Number(value)\String(value)

Boolean()

var b=Boolean("");
var b1=Boolean("122");
var b2=Boolean(0);
var b3=Boolean(1);
var b4=Boolean(null);
var b5=Boolean({"height":1});
var b6=Boolean({});

console.log(b);
console.log(b1);
console.log(b2);
console.log(b3);
console.log(b4);
console.log(b5);
console.log(b6);

运行结果:

false
true
false
true
false
true
true

Number():

var c=Number(false);
var c1=Number(true);
var c2=Number(undefined);
var c3=Number(null);
var c4=Number("1.2");
var c5=Number("1.2.3");
var c6=Number({"height":18});
var c7=Number(50);

console.log(c);
console.log(c1);
console.log(c2);
console.log(c3);
console.log(c4);
console.log(c5);
console.log(c6);
console.log(c7);

运行结果:

0
1
NaN
0
1.2
NaN
NaN
50

String():

var c=String(false);
var c1=String(true);
var c2=String(undefined);
var c3=String(null);
var c4=String(1.2222);
var c5=String("1.2.3");
var c6=String({"height":18});
var c7=String(50);
var c8=String([1,2,3]);

console.log(c);
console.log(c1);
console.log(c2);
console.log(c3);
console.log(c4);
console.log(c5);
console.log(c6);
console.log(c7);
console.log(c8);

运行结果:

false
true
undefined
null
1.2222
1.2.3
[object Object]
50
1,2,3

8)运算符:算术运算符、关系运算符、逻辑运算符、位运算符(操作符的优先级:算术操作符 → 关系运算符 → 逻辑操作符 → "="赋值符号)

算术运算符分为一元运算符和二元运算符:

一元:取反(-)、自加一(++)、自减一(--)

二元:加、减、乘、除

算术赋值运算符:+=、-=、*=、/=、%=

关系运算符:==(值相同即可)、!=、>、<、>=、<=、===(绝对等于:值相同,数据类型相同)

逻辑运算符:&、|、!、^(异或:两个值相反才返回true)、&&、||

 

|(逻辑或)与||(短路或)的区别:短路或(||),前面的表达式确定为真就不计算后面的表达式了;逻辑或(|):前面的表达式确定为真了也会计算后面的表达式。(这样导致||和&&的效率更高,一般都用这两)

逻辑或:(|)

var a=10;
var b=20;
var i=0;
if ((a<b)|(i++==1)){
   console.log("true");
}else{
    console.log("false");
}
console.log("i="+i);

运行结果:

true
i=1

短路或(||)

var a=10;
var b=20;
var i=0;
if ((a<b)||(i++==1)){
   console.log("true");
}else{
    console.log("false");
}
console.log("i="+i);

运行结果:

true
i=0

&(逻辑与)与&&(短路与)的区别:与|和||的区别是一样的;

位运行:~、&、|、^、>>、>>>、<<


9)三元运算符:x?y:z; 如果x为真就执行y,如果x为假就执行z

赋值运算符(等号:=)

对象类型判断运算符instanceof

10)typeof和instanceof的区别

var a="zhangqian";
var b=true;
var c=10;
var d;
var e=null;
var f=new Object();

/*typeof返回一个变量的基本类型*/
console.log(typeof a); //string
console.log(typeof b); //number
console.log(typeof d); //undefined
console.log(typeof e); //object
console.log(typeof f); //

/*instanceof:判断一个实例是否属于一个类*/
var array=new Array();
var object=new Object();
var regexp=new RegExp();
function func(){};
var func1=new func();

console.log(array instanceof Array);  //true
console.log(object instanceof Object);  //true
console.log(regexp instanceof RegExp);  //true
console.log(func1 instanceof func);  //true
console.log(f instanceof func);
console.log(f instanceof Object);

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值