目录
更多完整内容参考https://www.w3school.com.cn/js/js_shiyong.asp
一、概述
JavaScript是目前web开发中不可缺少的脚本语言,js不需要编译即可运行,运行在客户端,需要通过浏览器来解析执行JavaScript代码。
诞生于1995年,当时的主要目的是验证表单的数据是否合法。
JavaScript本来应该叫Livescript,但是在发布前夕,想搭上当时超热的java顺风车,临时把名字改为了JavaScript。(也就是说js跟java没有关系,当时只是想借助java的名气)。
javaScript 被用来改进设计、验证表单、检测浏览器、创建cookies,等等。JavaScript 是因特网上最流行的脚本语言,并且可在所有主要的浏览器中运行,比如: Internet Explorer、 Maxthon、Mozilla、Firefox、Netscape、Chrome和 Opera等。
常用 (1) 修改html及css代码 (2)验证表单
二、嵌入方法
2.1内嵌式
理论上js可以写在任何第一个地方 但是一般写在head标签里或者 body下
<script type="application/javascript">//type属性不是必须的
alert("内嵌式");
</script>
<script>alert("内嵌式");</script>
2.2外链式
首先新建一个文件类型为.js的文件,然后在该文件中写js语句,通过script标签对引入到html页面中。
<script src="js文件路径地址">这里不能写js语句</script>
2.3行内式
直接书写在标签身上,是一个简写的事件,所以又称之为事件属性。
onclick单击事件
<input type="button" value="这里是按钮" onclick="alert('你点击了按钮');">
<button onclick="alert('你点击了button按钮');">这里是button按钮</button>
三、注释
单行注释: // 注释语句
多行注释: /* 注释语句 */
注意:多行注释相互不能嵌套使用,只能在多行注释里面使用单行注释!
四、变量
变量声明使用var
var a=’moonsec’;
javascript单双引号没区别
五、JavaScript 保留关键字
Javascript 的保留关键字不可以用作变量、标签或者函数名。有些保留关键字是作为 Javascript 以后扩展使用。
六、输出
- 使用
window.alert()
写入警告框
使用弹出警告框显示数据
<script>
window.alert(5 + 6);
</script>
- 使用
document.write()
写入 HTML 输出
与innerHTML相似在 HTML 文档完全加载后使用 document.write() 将删除所有已有的 HTML (仅用于测试)
<button onclick="document.write(5 + 6)">试一试</button>
- 使用
innerHTML
写入 HTML 元素(常用)
更改 HTML 元素内容的 innerHTML 属性是在 HTML 中显示数据的常用方法。
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 5 + 6;
</script>
- 使用
console.log()
写入浏览器控制台
通过 F12 来激活浏览器控制台,在控制台中查看数据。
<script>
console.log(5 + 6);
</script>
七、数据类型
数值型:number(凡是数字都是数值型,不区分整数和小数)
字符串:string(凡是引号包裹起来的内容全部都是字符串)
布尔:boolean(true、false)
对象类型:object(特殊取值null)
未定义型:undefined
对象类型 数组 字典
八、判断类型
var a = "iamstring.";
var b = 222;
var c= [1,2,3];
var d = new Date();
var e = function(){alert(111);};
var f = function(){this.name="22";};
alert(typeof a) ------------> string
alert(typeof b) ------------> number
alert(typeof c) ------------> object
alert(typeof d) ------------> object
alert(typeof e) ------------> function
alert(typeof f) ------------> function
九、数据类型
9.1数字类型(Number)
只有一种数字类型,数字 可以是小数 ,也可以的整数。
9.1.1数据进制
以0开头
默认使用8进制来表示这个数字
以0x开头
默认使用16进制来表述这个数字
以-开头
默认以负数
以e开头
默认用科学计数法来解析这个数字
9.1.2数字方法
toString()
以字符串返回数值。
(123).toString(); // 从文本 123 返回 123
toExponential()
以字符串返回已被四舍五入,使用指针计数法的数字。
var x = 9.656;
x.toExponential(4); // 返回 9.6560e+0
toFixed()
以字符串返回指定小数位数的数字
var x = 9.656;
x.toFixed(2); // 返回 9.66
toPrecision()
以字符串返回指定位数的数字
var x = 9.656;
x.toPrecision(); // 返回 9.656
x.toPrecision(2); // 返回 9.7
Number()
返回数字,由其参数转换而来。
x = true;
Number(x); // 返回 1
x = false;
Number(x); // 返回 0
x = new Date();
Number(x); // 返回 1404568027739
x = "10"
Number(x); // 返回 10
x = "10 20"
Number(x); // 返回 NaN
parseInt()
解析其参数并返回整数。
parseInt("10"); // 返回 10
parseInt("10.33"); // 返回 10
parseInt("10 20 30"); // 返回 10
parseInt("10 years"); // 返回 10
parseInt("years 10"); // 返回 NaN
parseFloat()
解析其参数并返回浮点数。
parseFloat("10"); // 返回 10
parseFloat("10.33"); // 返回 10.33
parseFloat("10 20 30"); // 返回 10
parseFloat("10 years"); // 返回 10
parseFloat("years 10"); // 返回 NaN
- 特殊数值
MAX_VALUE 最大数。
MIN_VALUE 最小数。
NEGATIVE_INFINITY 负的无穷大(溢出返回)。
NaN 非数字值(“Not-a-Number”)。
POSITIVE_INFINITY 无穷大(溢出返回)。
9.2字符串型(string)
字符串是存储字符的变量,用来表示文本的数据类型,程序中的字符串是包含单引号/双引号的,由单引号来界定我双引号中包含的字符串
9.1.1字符串方法
obj.length
返回字符串的长度
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;// sln = 26
obj.indexOf(substring,start)
第一次出现子序列位置
var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China");//pos = 17
var pos = str.indexOf("China", 18);//pos = 51
obj.lastIndexOf(substring,start)
最后一次出现子序列位置(从尾到头搜索)
var str = "The full name of China is the People's Republic of China.";
var pos = str.lastIndexOf("China");//pos = 51
var pos = str.lastIndexOf("China", 50);//pos = 17
如果未找到文本, indexOf() 和 lastIndexOf() 均返回 -1。
obj.search(substring)
第一次出现子序列位置。不可以设置搜索位置,但可以通过设置正侧表达式进行搜索
var str = "The full name of China is the People's Republic of China.";
var pos = str.search("China");pos = 17
slice(start, end)
截取字符串
var str = "Apple, Banana, Mango";
var res = str.slice(7,13); //res = Banana
var res = str.slice(-13,-7);//res = Banana
substring(start, end)
截取字符串,但无法接受负的索引。substr(start,length)
截取字符串,不同之处在于第二个参数规定被提取部分的长度。obj.replace(regexp, replacement)
替换,/g替换所有,/i不区分大小写
str = "Please visit Microsoft!";
var n = str.replace(/MICROSOFT/i, "W3School");
var n = str.replace(/Microsoft/g, "W3School");
-
obj.toLowerCase()
大写 -
obj.toUpperCase()
小写 -
obj.concat(value1, value2,value3....)
字符串拼接 -
obj.trim()
移除字符串两端的空白符
var str = " Hello World! ";
alert(str.trim());//"Hello World!"
obj.trimLeft()
移除字符串左端的空白符obj.trimRight()
移除字符串右端的空白符obj.charAt(n)
返回字符串中的第n个字符split()
将字符串转换为数组
var txt = "a,b,c,d,e"; // 字符串
txt.split(","); // 用逗号分隔
txt.split(" "); // 用空格分隔
txt.split("|"); // 用竖线分隔
9.3布尔类型(boolean)
9.3.1介绍
一般是用在流程控制语句中,字符串和数字类型都是无穷多个,布尔数据类型只有两个:true 和 false
这两个个值一般用于说明某个事物是真或者假,js一般用布尔类型来比较所得到的结果
9.3.2比较方法
==
比较值相等!=
不等于===
比较值和类型相等!===
值不等于不相等或类型不相等>
大于<
小于>=
大于或等于<=
小于或等于||
或&&
且
9.4null(空)
null是一个特殊的值,它表示变量为空值,用来定义空的或者是不存在的引用。如果试图去引用一个没有定义的值,就会返回一个null。这里注意一点:null并不等于"" 或者0
9.5undefined(未定义)
这个值表示变量不含有值,没有定义的值,或者被定义了一个不存在的属性值
null和undefined区别:
null它表示一个变量被赋予一个空值,而undefined是表示变量还没有被赋值
9.6数组
9.6.1数组使用
1、数组内可以存放任意数据类型的数据(本质上它也是对象)
2、数组元素不赋值的情况下 值为undefined
3、如果数组打印的时候,元素不赋值""
4、访问数组范围之外的元素,不会出现越界的问题,undefined
5、定义数组大小,照样可以添加更多元素
9.6.2定义数组的方法
1、var arr=[]//定义一个空数组
2、var arr=[10,20,{“name”:“tomy”,“age”:19},0.1,“string”,true,[“aaa”,“bbb”]]//定义的同时赋值
3、var arr=new Array();//定义一个空数组
4、var arr = new Array(10,20,{“name”:“tomy”,“age”:19},0.1,“string”,true,[“aaa”,“bbb”])//定义的同时赋值
5、var arr=new Array(10)//定义一个长度为10的数组
9.6.3数组方法
-
obj.length
数组的大小 -
obj.push(ele)
尾部追加元素 -
obj.pop()
尾部获取一个元素 -
obj.unshift(ele)
头部插入元素 -
obj.shift()
头部移除元素 -
obj.splice(start, deleteCount, value, ...)
插入、删除或替换数组的元素
obj.splice(n,0,val) 指定位置插入元素
obj.splice(n,1,val) 指定位置替换元素
obj.splice(n,1) 指定位置删除元素 -
obj.slice( )
切片
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(3); //citrus = ["Apple", "Mango"]
-
obj.sort( )
以字母顺序对数组进行排序 -
obj.reverse( )
反转数组元素 -
obj.join(sep)
将数组元素连接起来以构建一个字符串 -
obj.concat(val,..)
连接数组