JS学习笔记(一)基础知识点-上

复习一下JavaScript的基础知识点。

(一)JavaScript引入方式

  • 外部JavaScript:HTML代码和JS代码放在不同文件中,在HTML文档中使用script标签引入JS代码,是最理想的引入方式,可提升网站的性能和可维护性。
    <!DOCTYPE html>
    <html>
    <head>
    	<title></title>
    	<!--在head中引入JS文件-->
    	<script type="text/javascript" src="index.js"></script>
    </head>
    <body>
    	<!--在body中引入JS文件-->
    	<script type="text/javascript" src="index.js"></script>
    </body>
    </html>
  • 内部JavaScript:HTML代码和JS代码在同一个文件中。
    <!DOCTYPE html>
    <html>
    <head>
    	<title></title>
    	<!--在head中引入-->
    	<script type="text/javascript">
            ……
    	</script>
    </head>
    <body>
    	<!--在body中引入-->
    	<script type="text/javascript">
            ……
    	</script>
    </body>
    </html>
  • 元素事件JavaScript:在元素的事件属性中直接编写JS或调用函数。
    <!DOCTYPE html>
    <html>
    <head>
    	<title></title>
    	<meta charset="utf-8">
    	<script type="text/javascript">
    		function alertMes() {
    			alert("您点击了按钮2");
    		}
    	</script>
    </head>
    <body>
    	<!--在元素事件中编写JavaScript-->
    	<input type="button" name="btn1" value="按钮1" οnclick="alert('您点击了按钮1')">
    	<!--在元素事件中调用函数-->
    	<input type="button" name="btn2" value="按钮2" οnclick="alertMes()">
    </body>
    </html>


(二)JavaScript语法

  • 常量与变量:需注意的是变量的命名,变量由字母、下划线、$或数字组成,第一个字母必须是“字母、下划线或$”,并且不能是系统关键字和保留字,区分大小写。对于变量的使用,所有JavaScript变量都由var声明
  • 数据类型:在JS中,数据类型分为两种,一种是“基本数据类型”(数字、字符串、布尔值、未定义值和空值),一种是“引用数据类型”(常用的有两种:数组和对象)。
  • 运算符:常见的运算符有算数运算符(加法运算符、自增运算符i++/++i、自减运算符i--/--i)、赋值运算符(=、+=、-=、*=、/=)、比较运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)、条件运算符(var a=条件?表达式1:表达式2;)。
  • 表达式与语句
  • 类型转换:隐式类型转换(JS自动进行)、显式类型转换(用代码强制进行转换)。显式类型转换中,字符串转换为数字,可以用Number(),parseInt(),parseFloat()方法;数字转换为字符串,可以用toString()方法(较少使用),或者与空字符串相加。
  • 转义字符:\',\",\n
  • 注释://单行注释,/*多行注释*/


(三)JavaScript流程控制

  • 顺序结构:执行顺序“从上到下,从左到右”。
  • 选择结构:if语句,switch语句。
  • 循环结构:while语句,do……while语句,for语句。


(四)函数

作用:①减少重复工作;②特定功能。

使用function定义,函数名+形参,return返回值,一般只返回一个值或变量,若有多个值需要返回的,可使用数组存储。

全局变量与局部变量。

函数调用:

  • 直接调用
<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
	<script type="text/javascript">
		//定义函数
		function getMes() {
			document.write("hello world!");
		}
		//直接调用函数
		getMes();
	</script>
</head>
<body>
</body>
</html>
  • 在表达式中调用
    <!DOCTYPE html>
    <html>
    <head>
    	<title></title>
    	<meta charset="utf-8">
    	<script type="text/javascript">
    		//定义函数
    		function addNum(a,b) {
    			var  sum = a + b;
    			return sum;
    		}
    		//在表达式中调用函数
    		var n = addNum(10,20)+100;
    		document.write(n);
    	</script>
    </head>
    <body>
    </body>
    </html>
  • 在超链接中调用
    <!DOCTYPE html>
    <html>
    <head>
    	<title></title>
    	<meta charset="utf-8">
    	<script type="text/javascript">
    		//定义函数
    		function alertMes() {
    			alert("您点击了超链接");
    		}
    	</script>
    </head>
    <body>
    	<!--在超链接中调用函数-->
    	<a href="javascript:alertMes()">点击弹出提醒框</a>
    </body>
    </html>
  • 在事件中调用
    <!DOCTYPE html>
    <html>
    <head>
    	<title></title>
    	<meta charset="utf-8">
    	<script type="text/javascript">
    		//定义函数
    		function alertMes() {
    			alert("您点击了按钮");
    		}
    	</script>
    </head>
    <body>
    	<!--在事件中调用函数-->
    	<input type="button" name="btn" value="按钮事件" οnclick="alertMes()">
    </body>
    </html>

嵌套函数:

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
	<script type="text/javascript">
		//定义阶乘函数
		function func(a) {
			//嵌套函数定义,计算平方值的函数
			function multi(x){
				return x*x;
			}
			var m=1;
			for(var i=1;i<=multi(a);i++){
				m=m*i;
			}
			return m;
		}
		//调用函数
		var sum=func(2)+func(3);
		document.write(sum);
	</script>
</head>
<body>
</body>
</html>

内置函数:

函数说明
parseInt()提取字符串中的数字,只限提取整数
parseFloat()提取字符串中的数字,可以提取小数
isFinite()判断一个数是否是一个有限数值
isNaN()判断一个数是否是NaN值
escape()对字符串进行编码
unescape()对字符串进行解码
eval()把一个字符串当做一个表达式去执行

(五)JavaScript内置对象

(1)字符串对象:String

  • 获取字符串长度:使用length属性
  • 大小写转换:转小写toLowerCase(),转大写toUpperCase()
  • 获取某一个字符:charAt(),下标从0开始
  • 截取字符串:substring(start,end),截取范围为[start,end),end省略时,start到结尾字符
  • 替换字符串:replace(原字符串/正则表达式,替换字符串),原字符串只替换第一个,正则表达式则替换所有
  • 分割字符串:split("分割符"),分割可以是一个/多个字符或一个正则表达式,分割后得到一个数组,split("")无空格可用来分割字符串每一个字符
  • 检索字符串的位置:indexOf(指定字符串)返回指定字符串首次出现下标,lastIndexOf(指定字符串)返回最后出现的下标位置,找不到返回-1

(2)数组对象:Array

  • 截取数组某部分:slice(start,end),用法类似substring()
  • 在数组开头添加元素:unshift(新元素1,新元素2,…,新元素n)
  • 在数组结尾添加元素:push(新元素1,新元素2,…,新元素n)
  • 删除数组第一个元素:shift()
  • 删除数组最后一个元素:pop()
  • 数组大小比较:sort(函数名)
  • 数组颠倒顺序:reverse()
  • 将数组元素连接成字符串:join("连接符"),连接符默认为英文逗号

(3)日期对象:Date

  • 获取年月日时分秒:getFullYear(),getMonth()【返回值为0~11间整数】,getDate(),getHours(),getMinutes(),getSeconds()
  • 同样有set方法设置年月日时分秒
  • 获取星期几:getDay(),返回0~6,表示星期日至星期六。若需要将数字转换为中文,可以这样写,代码如下:
<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
	<script type="text/javascript">
		var weekday = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
		var today = new Date();
		document.write("今天是"+weekday[today.getDay()]);
	</script>
</head>
<body>
</body>
</html>

(4)数值对象:Math

Math对象不需要使用new关键字来创造,直接使用属性方法就好。

  • Math.PI:实际开发中,所有角度以“弧度”为单位,故180°应写成Math.PI,360°应写成Math.PI*2,所以推荐写法“度数*Math.PI/180”,即
90*Math.PI/180 //90°
  • 最大值:Math.max(a,b,…,n);    
  • 最小值:Math.min(a,b,…,n);
  • 向下取整:Math.floor(x);
  • 向上取整:Math.ceil(x);
  • 生成随机数:Math.random();    random()方法生成0~1之间的一个随机数,范围为[0,1)

随机生成某个范围内的“任意数”
范围公式举例
0~mMath.random()*mMath.random()*10表示生成0~10之间的随机数
n~m+nMath.random()*m+nMath,random*10+8表示生成8~10之间的随机数
-n~m-nMath.random()*m-nMath.random*10-8表示生成-8~2之间的随机数
-m~mMath.random()*m-mMath.random*10-10表示生成-10~10之间的随机数
随机数生成某个范围内的“整数”,使用floor()向下取整
范围公式
0~任意数Math.floor(Math.random()*(m+1));
1~任意数Math.floor(Math.random()*(m+1)+1);
任意数~任意数Math.floor(Math.random()*(m-n+1)+n);
举例:floor()向下取整,对于Math,random()*5来说,Math.floor(Math.random()*5)生成0~4之间的整数,故若想生成0~5之间的整数,应写成Math.floor(Math.random()*(5+1));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值