JavaScript 基础 数据类型与运算符

时间:2023-01-28 20:19:45

JavaScript

JavaScript简介

1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中),后将其改名ScriptEase(客户端执行语言).

Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0产品中开发出一套livescript的脚本语言.Sun和Netscape共同完成,后改名叫JavaScript.

JavaScript引入方式

Script标签内写代码

<script>
//在这里写代码
</script>

引入额外的JS文件

<script src="myscript.js"></script>

JavaScript语言规范

注释

// 这是单行注释

/*
这是多行注释
*/

结束符

JavaScript中的语句要以分号 ; 为结束符.

JavaScript语言基础

变量声明

JavaScript的变量名可以使用_,数字,字母,$组成,不能以数字开头(一般用驼峰命名法).

声明变量使用 var 变量名; 的格式来进行声明

var name = "eve";
var age = 999;

JavaScript数据类型

JavaScript拥有动态类型

var x;   // 定义一个变量没有赋值时 默认是 undefined
var x = 1; //数字类型 值是1
var x = "eve" //字符串类型

数字类型

JavaScript不区分整型和浮点型,就只有一种数字类型.

var a = 12.34;
var b = 20;
var c = 123e5;
var d = 123e-5;

还有一种NaN,表示不是一个数字(Not a Number).

常用方法

parseInt("123")  // 返回123
parseInt("abc") // 返回NaN 表示非数字的特殊值,该属性用于指示某个值不是数字
parseFloat("123.456") //返回123.456

字符串

var a = "Hello";
var b = "world";
var c = a + b;
console.log(c);
//得到Helloworld

常用方法

方法 说明
.length 返回长度
.trim() 移除空白
.trimLeft() 移除左边的空白
.trimRight() 移除右边的空白
.charAt(n) 返回第n个字符
.concat(value, ...) 拼接
.indexOf(substring, start) 子序列位置
.substring(from, to) 根据索引获取子序列
.slice(start, end) 切片
.toLowerCase() 小写
.toUpperCase() 大写
.split(delimiter, limit) 分割

 

 

 

 

 

 

 

 

 

 

布尔类型

区别于python true和false都是小写.

var a = true;
var b = false;

空字符串 0  null undefined NaN都是false.

数组

类似于python中的列表

var a = [123,"ABC"];
console.log(a[
1]);

常用方法

方法 说明
.length 数组的大小
.push(ele) 尾部追加元素
.pop() 获取尾部的元素
.unshift(ele) 头部插入元素
.shift() 头部移除元素
.slice(start, end) 切片
.reverse() 反转
.join(seq) 将数组元素连接成字符串
.concat(val, ...) 连接数组
.sort() 排序

 

 

 

 

 

 

 

 

 

遍历数组中的元素

var a = [10,20,30,40,50];
for (var i = 0;i < a.length;i++) {
console.log(i);
}

null 和 undefined

null表示值是空,一半在需要指定或清空一个变量时才会使用

undefined表示当声明一个变量但未初始化时,该变量的默认值是undefined.还有九十函数五明确的返回值时,返回的也是undefined.

null表示变量的值是空,undefined则表示只声明了变量,但是还没有赋值.

类型查询

typeof "abc"   //string
typeof null //object
typeof true //boolean
typeof 123 //number

typeof是一个一元运算符(就像++,--,!,-等一元运算符),不是一个函数,也不是一个语句

对变量或值调用typeof运算符将返回下列值之一:

undefined - 如果变量是Undefined类型的

undefined - 如果变量是Boolean类型的

number - 如果变量是Number类型的

string - 如果变量是String类型的

object - 如果变量是一种引用类型或Null类型的

运算符

算数运算符

+ - * / % ++ --

比较运算符

> >= < <= != == === !==

逻辑运算符

&&  ||  !

赋值运算符

=  +=  -=  *=  /=

流程控制

if-else

var a = 10;
if (a > 5) {
console.log(
"yes");
}
else {
console.log(
"no")
}

if-else if-else

var a = 10;
if (a > 5) {
console.log(
"a > 5");
}
else if ("a < 5") {
console.log(
"a < 5");
}
else {
console.log(
"a = 5");
}

switch

var day = new Date().getDay();
switch (day) {
case 0:
console.log(
"Sunday");
break;
case 1:
console.log(
"Monday");
break;
default:
console.log(
"...")
}

switch中的case子句通常都回家break语句,否则程序会继续执行后续case中的语句.

for

for (var i=0;i<10;i++) {
console.log(i);
}

while

var i = 0;
while (i < 10) {
console.log(i);
i
++;
}

三元运算

var a = 1;
var b = 2;
var c = a > b ? a : b