JavaScript介绍

JavaScript是一种轻量级的脚本语言。所谓”脚本语言”,指的是它不具备开发操作系统的能力,而是用来编写其他大型应用程序的”脚本”。

JS的语句标识符

语句

JavaScript程序的单位是行(line),也就是一行一行的执行。一般情况下,每一行就是一个语句

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var num = 10;

var username = "iwen";

var age = 20;

var people_zhangsan = "张三";

var $Zzhangsan = "张三";

var _zhangsan = "张三";

var $_zhangsan = "张三";

var zhangsan1 = "张三";

var lzhangsan = "张三";

var 张三 = "张三";


</script>
</body>
</html>

语句以分号结尾,一个封号就代表语句结束

标识符

标识符指的是用来标识各种值的合法名称。最常见的标识符就是变量名

标识符是由:字母、美元($)、下划线(_)、和数字组成,其中数字不能开头

变量

变量的重新赋值

var num = 10;
num = 20;

变量提升

JavaScript引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这早晨地结果,就是所有地变量地声明语句,都会被提升到代码地头部,这就叫做变量提升(hoisting)。

console.log(num);
var num = 10;
//输出undefined

JS引入文件

嵌入到HTML文件中

<body>
<script>
var age = 20;
</script>
</body>

引入本地独立JS文件

<body>
<script type = "text/javascript" src="./itbaizhan.js"></script>
</body>

引入网络来源文件

<body>
<script src = "http://code.jquery.com/jquery1.2.1.min.js"></script>
</body>

JS注释与输出方式

JS注释

源码中的注释是不被引擎所解释地,它的作用是对代码进行解释。JS提供两种注释的写法:一种是单行注释,用//起头;另一种是多行注释,放在/和/之间。

//这是单行注释
/*
这是多行注释
*/

嵌入在HTML文件中的注释

<!--这是HTML中的注释-->
  • 快捷方式:Ctrl + /

JS的输出方式

alert("要输出的内容");
document.write("要删除的内容");
console.log("要输出的内容");

数据类型

基本数据类型

数值/数字类型

var age = 20;

字符串类型:被双引号或单引号包裹的类型就是字符串类型

var name = "iwen";
var name2 = "乐乐"

布尔类型:计算机是由0和1组成 0:false 1:true

var flag = true;

合成类型(复活节类型)

对象:因为对象往往是多个原始类型的值合成,可以看作是一个存放各种数值的容器

var user = {
name:"乐乐",
age:20,
hunyin:false
}

typeof运算符(判断基本数据类型使用)

var age = 20;
console.log(typeof age);//number

var name = "lele";
console.log(typeof name);//string

var flag = true;
console.log(typeof flag);//boolean

var user = {};
console.log(typeof user)//object

console.log(typeof []);//object
console.log(typeof null);//object
console.log(typeof undefined);//undefined
  • null一般代表对象为”没有”
  • undefined一般代表数值为”没有”

运算符之算数运算符

加减乘除

var num1 = 100;
var num2 = 10;
console.log(num1 + num2);
console.log(num1 - num2);
console.log(num1 * num2);
console.log(num1 / num2);

取余

console(num1 % num2);

自增自减运算符

console.log(num1++);
console.log(num1--);
console.log(++num1);
console.log(--num1);

赋值运算符

var x = 1;

比较运算符

console.log(1>2);

字符串

  • 不能双引号中嵌套双引号,或者单引号中嵌套单引号

  • 如果要在单引号字符串的内部使用单引号,就必须在内部的单引号前面加上反斜杠,用来转义。双引号内部使用双引号也是如此

var str = "我真的\"好哦哦\"";
console.log(str7.length);//输出字符串长度

字符串常用方法

charAt:返回指定位置的字符,参数是从0开始编号的

var s = new String('itbaizhan');
s.charAt(1);
s.charAt(s.length-1);

concat():用于连接两个字符串,返回一个新字符串,不改变原字符串

var s1 = "lll";
var s2 = "eee";
s1.concat(s2);

substring():用于从原字符串取出子字符串并返回,不改变远字符串。它的第一个参数表示子字符串的开始的位置,第二个位置表示结束的位置(返回结果不含该位置)

substr():用于从原字符串取出子字符串并返回,不改变源字符串,跟substring方法的作用相同,第一个参数是子字符串的开始位置(从0开始计算),第二个参数是子字符串的长度

indexOf():用于确定一个字符串在另一个字符串中第一次出现的位置,返回结果是匹配开始的位置。如果返回-1,就表示不匹配

trim():用于取出字符串两端的空格,返回一个新的字符串,不改变原字符串

split():按照给定规则分割字符串,返回一个由分割出来的字符串组成的数组

'it|sxt|baizhan'.split('|')//["it","sxt","baizhan"]

数组方法

Array.isArray():用于判断是否是数组

var arr = [10,20,30];
console.log(Array.isArray(arr));

push():用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度。注意,该方法会改变原数组

var arr = [];
arr.push("尚学堂");
arr.push("itbaizhan");
arr.push(trur,{});

pop():用于删除数组的最后一个元素,并返回该数组。注意,该方法会改变原数组()

var arr = ['尚学堂','itbaizhan','WEB前端'];
arr.pop()

shift():用于删除数组的第一个元素,并返回该元素。注意,该方法会改变原数组

join():方法用以指定参数作为分割符,将所有数组成员连接为一个字符串返回。如果不提供参数,默认用逗号分隔

var arr = [10,20,30,40];
console.log(arr.join());//10,20,30,40
console.log(arr.join("|"));//10|20|30|40
console.log(arr.join(""));//10203040
console.log(arr.join(" "));//10 20 30 40

如果数组成员是undefiend或空位,会被转成字符串

concat():用于多个数组的合并。它将新数组的成员,添加到原数组成员的后部,然后返回一个新数组,原数组不变

reverse():用于颠倒排列数组元素,返回改变后的数组。注意,该方法将改变原数组

indexOf:用于返回给定元素在数组中第一次出现的位置,如果没有则返回-1

函数

函数的声明

function命令:function命令声明的代码区块,就是一个函数。function命令后面是函数名,函数名后面是是一对圆括号,里面是传入函数的参数。函数体放在大括号里面。

function print(s){
console.log(s);
}

函数名的提升

JavaScript引擎将函数名视同变量名,所以采用funtion命名声明函数时,整个函数会像变量一样,被提升到代码头部

add();
function add(){}

对象

var user = {
name: 'itbaizhan',
age: '13'
};