JavaScript
JS (JaveScript)
1 概述
-
JaveScript 是脚本语言
-
js是动态型语言,创建变量时不需要指定数据类型。(python也是动态型的)
-
是一种轻量级的编程语言。后来出现了node.js,可以作为后端语言来开发项目,js是一个既能做前端又能做后端的语言,但是js这个作者用了10天就开发了这么个语言,所以写的不是很完善。
-
JavaScript 是可插入 HTML 页面的编程代码。
-
JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行
-
JavaScript 很容易学习。
-
-
ECMAScript和JavaScript的关系:前者是后者的规格,后者是前者的一种实现。
-
ECMAScript 5.1 现在学的
-
ECMAScript 6 更加完善,简称:ES6.
-
-
一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:
-
核心(ECMAScript)
-
文档对象模型(DOM) Document object model (整合js,css,html)
-
浏览器对象模型(BOM) Broswer object model(整合js和浏览器 )
-
2 js引入
方式1:
<script>
//js代码
alert("澳门皇家赌场上线!!!")
</script>
方式2:
<script src="js文件路径"></script>
3.1.注释
// 这是单行注释
/*
这是
多行注释
*/
3.2 结束符
/ 结束符 JavaScript中的语句要以分号(;)为结束符。也就是说和缩进没关系了
4 声明变量var
var a = 10;
声明变量时可以先不赋值
var a;此时a的值为undefined
5 基础数据类型
1. 数值类型Number
var a = 10;
undefined
typeof a;
var b = 1.11;
undefined
typeof b;
"number"
查看数据类型用 typeof a;
var c = 123e5; //12300000
var d = 123e-5; //0.00123
2. 字符类型String
var a = "alexdsb";
undefined
a
"alexdsb"
var a = "hello";
var b = "world";
var c = a + b; //字符串拼接
console.log(c); // 得到helloworld
3. 类型转换
parseInt("123") //返回123
parseInt("ABC") //返回NaN,NaN属性是代表数字值的特殊值。该属性用于指示某个值不是数字。
parseFloat("123.456") //123.456
示例:
var a = "a123";
var b = parseInt(a);
b
NaN
typeof b;
"number"
var b = "1.11";
parseFloat(b)
1.11
4 字符串常用方法
1 .length属性,查看字符串长度
/ 示例:
var a = "hello";
a.lenth; // 5
2 .trim(); / 移除空白
/ 示例:
var a = " hello "
a.trim(); // "hello"
3 .trimleft() /去左边的空白 .trimRight() /去右边的空白
4 .charAt(n) / 返回索引为n的那个字符
5 .concat() /字符串拼接
示例:
var a = "hello";
var b = "world";
a.concat(b) // "helloworld"
6 .indexOf() / 通过元素找索引
示例:
var a = "hello";
a.indexOf('e')
start参数,索引起始位置
a.indexOf('l',3)
找不到返回-1
a.indexOf('e',3) // -1
7 .slice() / 切片
var a = 'hello';
a.slice(2,4) / 顾头不顾腚
8 .toLowerCase() / 全变小写
.toUpperCase() / 全变大写
示例:
var a = 'HH';
a.toLowerCase();
9 .split 字符串分隔,第二个参数返回的是多少个数据
示例:
var a = "hello";
a.slipt('e') //(2) ['h','llo']
5 布尔值
var a = true;
var b = false;
""(空字符串),0,null,undefined,NaN都是false。
6 null和undefined
/null和undefined
/null表示值是空,一般在需要指定或清空一个变量时才会使用,如 name=null;
/undefined表示当声明一个变量但未初始化时,该变量的默认值是undefined。还有就是函数无明确的返回值时, 返回的也是undefined。
/null表示变量的值是空,undefined则表示只声明了变量,但还没有赋值。
7 对象类型object
JavaScript 中的所有事物都是对象:字符串,数值,数组,函数,
6 复杂数据类型或者引用数据类型
1 数组 Array
创建数组:
var a = [11,22,33];
var b = new Array([22,33])
typeof a; // object类型
2 数组常用方法和属性
1 索引取值
var a = [123,"ABC"];
console.log(a[1]); // 输出"ABC"
2 .length a.length // 2
3 .push() 尾部追加 .pop() 尾部删除
示例:
var a = [11,22,33]
a.push("123"); // [11,22,33,"123"]
a.pop(); // "123"
a --[11,22,33]
4 .unshift(ele) 头部追加 .shift() 头部删除
var a = [11,22,33]
a //(3) [11,22,33]
a.unshift('aa')
a
(4) ['aa',11,22,33]
a.shift('aa');
'aa'
a
(3) [11,22,33]
5 .sort()排序
var a = [11,4,84,73];
a.sort()
(4) [11,4,73,84] // 是按照ascii码对照表个位数来拍的
function sortNumber(a,b){
return a - b;
}
a.sort(sortNumber)
(4) [4,11,73,84]
function sortNumber(a,b){
return b - a;
}
a.sort(sortNumber)
(4) [84,73,11,4]
解释:
如果想按照其他标准进行排序,就需要提供比较函数,也就是自己提供一个函数提供排序规则,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
6 .splice() 删除元素 var a = [84, 73, 11, 4]; a.splice(1,2,'aa','bb','cc');
7 .slice() 切片
8 .reverse()--原数组上反转
9 .join("+") 通过加号拼接