JavaScript基础

一、JavaScript的实现

1、ECMAScript

JS的核心标准,它描述了该语言的语法和基本对象。

2、DOM

文档对象模型,它是HTML的应用 程序接口。

3、BOM

浏览器对象模型,可以对浏览器窗口进行访问和操作处理。

二、JavaScript的使用

1、内部JavaScript

只需使用

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>内部JavaScript的简单应用</h3>
	<hr>
	<script>
		alert("Hello JavaScript");
	</script>
</body>
</html>

在这里插入图片描述

2、外部JavaScript

只需在HTML页面的

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
<!--外部JS文件的引用部分-->
<script src="../myjs/myFirstScript.js"></script>
</head>

<body> 
	<h3>外部JavaScript的简单应用</h3>
	<hr>
</body>
</html>

js文件

alert("来自一个外部JS文件的问候:你好!");

运行结果
在这里插入图片描述

三、JavaScript的语法

1、JS的大小写

JS是区分大小写的。

2、JS的分号

JS的分号可有可无,但建议写。

3、JS的注释

单行注释用//,多行注释用/**/

4、JS代码块

使用大括号标识需要被执行的多行代码。

四、JavaScript变量

1、变量的声明

变量声明的关键词var,可有可无,变量为文本形式时要加双引号 。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>JavaScript变量的简单应用</h3>
	<hr>
	<script>
		var msg = "Hello JavaScript!"
		alert(msg);
	</script>
</body>
</html>

在这里插入图片描述

2、变量的命名规范

首字母必须是字母、下画线或者美元符号,其他位置上的字符可以是下画线、美元符号、数字或字母。

3、JS关键字和保留字

一共25个

五、JavaScript基本数据类型

1、Undefined类型

当需要输出的变量的从未声明过或者用var声明过但是未赋值时

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>JavaScript变量undefined类型的简单应用</h3>
	<hr>
	<script>
		var msg ;
		alert(msg);
	</script>
</body>
</html>

在这里插入图片描述

2、Null类型

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>JavaScript变量Null类型的简单应用</h3>
	<hr>
	<script>
		var msg=99 ;
		msg=null;
		alert(msg);
	</script>
</body>
</html>

在这里插入图片描述

3、String类型

(1)、字符串长度

可以使用String对象的属性length获取字符串的长度,空格和符号也算一个字符

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>JavaScript获取字符串长度的简单应用</h3>
	<hr>
	<script>
		var msg='China';
		var len=msg.length;
		alert(len);
	</script>
</body>
</html>

在这里插入图片描述

(2)、获取字符串中的单个字符

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>JavaScript获取字符串单个字符的简单应用</h3>
	<hr>
	<script>
		var msg='Hello JavaScript'
        //获取字符串的单个字符
		var letter=msg.charAt(10);
		//获取字符串中单个字符的ASCII码
		var code=msg.charCodeAt(10);
		
		alert("Hello JavaScript在第10位上的字符为:"+letter+"\n其字符代码为:"+code);
	</script>
</body>
</html>

在这里插入图片描述

(3)、连接字符串

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>JavaScript连接字符串的简单应用</h3>
	<hr>
	<script>
		var s1="Hello";
		var s2=" Java";
		var s3="Script ";
		var msg=s1.concat(s2,s3);
		var msg1=s1+" world";
		alert(msg + msg1);
	</script>
</body>
</html>

在这里插入图片描述

(4)、查找字符串是否存在

正序查找indexOf(searchString,startIndex)
倒序查找lastIndexOf(searchString , startIndex)
serchString参数是要查找的字符串片段,startIndex是指定搜索的起始字符

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>JavaScript检测字符串是否存在</h3>
	<hr>
	<p>查找字母y在字符串“Happy Birthday”中的位置</p>
	<script>
		var msg ="Happy Birthday";
		var firstY=msg.indexOf("y");
		var lastY=msg.lastIndexOf("y");
		alert('indexOf("y"):'+firstY+'\nlastindexOf("y"):'+lastY);
	</script>
</body>
</html>

(5)、查找与替换字符串

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>JavaScript查找与替换字符串</h3>
	<hr>
	<p>查找和替换字符串“Happy New Year 2020”</p>
	<script>
		var msg ="Happy New Year 2020";
		//表示全局查找字母a,/g表示全局查找,返回符合条件的字符串片段
		var result1=msg.match(/a/g);
		//返回值符合匹配条件的字符串索引值
		var result2=msg.search(/a/);
		//全局查找数字
		var result3=msg.match(/\d/g);
		//将小写字母a全部替换成大写字母A
		var result4=msg.replace(/a/g,"A");
		
		alert('match(/a/g):'+result1+'\n search(/a/):'+result2+'\n match(/\d/g):'+result3+'\n replace(/a/g,"A"):'+result4);
	</script>
</body>
</html>

在这里插入图片描述

(6)、获取字符串片段

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>JavaScript获取字符串片段</h3>
	<hr>
	<p>分别使用substring()和slice()方法节选字符串“Happy Birthday”</p>
	<script>
		var msg ="Happy Birtday";
		//节选的片段不包括结束值所在文字的字符,负数默认为0
		var result1=msg.substring(1,6);
		//节选的片段不包括结束值所在文字的字符,负数表示倒数的字符
		var result2=msg.slice(0,-2);
		
		alert('substring(1,6):'+result1+'\n slice(0,-2):'+result2);
	</script>
</body>
</html>

在这里插入图片描述

(7)、字符串大小写转换

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>JavaScript字符串大小写转换</h3>
	<hr>
	<p>将字符串“Merry Christmal"分别转换成全大写和全小写的形式</p>
	<script>
		var msg ="Merry Christmal";
		//转换成大写
		var result1=msg.toUpperCase();
		//转换成小写
		var result2=msg.toLowerCase();
		
		alert('全大写:'+result1+'\n 全小写:'+result2);
	</script>
</body>
</html>

在这里插入图片描述

(8)、转义字符

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>JavaScript转义字符的简单应用</h3>
	<hr>
	<p>JavaScript转义字符的简单应用</p>
	<script>
		alert("双引号 \" \n 单引号 \' ");
	</script>
</body>
</html>

在这里插入图片描述

4、Number类型

可以表示32位以内的整数或64位以内的浮点数

(1)、科学计数法

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>JavaScript科学计数法</h3>
	<hr>
	<p>JavaScript科学计数法的简单应用</p>
	<script>
		var x1=3e6;
		var x2=3e-6;
		alert("3e6"+x1+"\n3e-6"+x2);
	</script>
</body>
</html>

在这里插入图片描述

(2)、八进制和16进制数

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>JavaScript八进制和十六进制</h3>
	<hr>
	<script>
		//八进制
		var x1=020;
		//十六进制
		var x2=0xAF;
		alert('八进制020='+x1+'\n十六进制0xAF='+x2);
	</script>
</body>
</html>

在这里插入图片描述

(3)、浮点数

损失精度是因为实际计算是转换成二进制数计算再转换回十进制。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>浮点数类型的简单应用</h3>
	<hr>
	<script>
		var result1=0.7+0.1;
		var result2=(0.7*10+0.1*10)/10;
		alert("0.7+0.1="+result1+'\n(0.7*10+0.1*10)/10='+result2);
	</script>
</body>
</html>

在这里插入图片描述

(4)、特殊Number值

  • 无穷大Infinity
    超出JS的运算范围,则返回值为Infinity或-Infinity
在这里插入代码片
```<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>特殊值Infinity的简单应用</h3>
	<hr>
	<script>
		var x1=2e9000,x2=-2e9000;
		var result=x1+x2;
		alert("x1(2e9000)="+x1+'\nx2(-2e9000)='+x2+"\nx1+x2="+result);
	</script>
</body>
</html>

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200111141103643.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjIwNDcxMw==,size_16,color_FFFFFF,t_70)


  • 非数字NaN
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>特殊值NaN的简单应用</h3>
	<hr>
	<script>
		var x1="hello",x2=999;
		var result=Number(x1);
		alert("x1(hello)不是数字:"+isNaN(x1)+'\nx2(999)不是数字:'+isNaN(x2)+"\nx1转换为数字的结果为:"+result);
	</script>
</body>
</html>

在这里插入图片描述

5、Boolean类型

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>布尔类型的简单应用</h3>
	<hr>
	<script>
		var x1=Boolean("hello");
		var x2=Boolean(999);
		var x3=Boolean(0);
		var x4=Boolean(null);
		var x5=Boolean(undefined);
		alert("hello:"+x1+"\n999:"+x2+"\n0:"+x3+"\nnull:"+x4+"\nundefined:"+x5);
	</script>
</body>
</html>

在这里插入图片描述

六、JavaScript对象类型

1、本地对象

(1)、数组Array

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>Array对象的简单应用</h3>
	<hr>
	<script>
		//使用new Array()构建数组对象
		var students=new Array();
		students[0]="张三";
		students[1]="李四";
		students[2]="王五";
		
		//直接声明数组对象
		var mobile=["Nokia","HTC","iPhone"];
		alert(students+"\n"+mobile);
		
	</script>
</body>
</html>

(2)、日期Date

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>Date对象的简单应用</h3>
	<hr>
	<script>
		//创建当前日期对象
		var date=new Date();
		//获取年份
		var year=date.getFullYear();
		//获取月份
		var month=date.getMonth()+1;
		//获取天数
		var day=date.getDate();
		//获取星期
		var week=date.getDay();
		alert("当前是"+year+"年"+" "+month+"月"+day+"日,星期"+week);
	</script>
</body>
</html>

在这里插入图片描述

(3)、正则表达式RegExp

  • exec()方法的应用
    返回值为存放检索结果的数组或null
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>正则表达式exec()的简单应用</h3>
	<hr>
	<script>
		//原始字符串
		var s="Happy New Year 2020";
		//定义正则表达式,用于全局检索字母是否引起的
		var pattern =/N/g;
		//第一次匹配的结果
		var result1=pattern.exec(s);
		//第二次匹配的结果
		var result2=pattern.exec(s);
		alert("第一次匹配的结果:"+result1+"\n第二次匹配的结果:"+result2);
	</script>
</body>
</html>

在这里插入图片描述

  • test()方法的应用
    返回结果为布尔值
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>正则表达式exec()的简单应用</h3>
	<hr>
	<script>
		//原始字符串
		var s="Happy New Year 2020";
		//定义正则表达式,用于全局检索字母是否引起的
		var pattern =/N/g;
		//第一次匹配的结果
		var result=pattern.test(s);

		alert("匹配的结果:"+result);
	</script>
</body>
</html>

在这里插入图片描述

(4)、对象Object

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>Object对象的简单应用</h3>
	<hr>
	<script>
		//自定义JavaScript对象ticket表示电影票
		var ticket=new Object();
		//电影票的主题
		ticket.topic="海底总动员";
		//电影票的时间
		ticket.time="2020/21/11  19:30";
		//电影票的价格
		ticket.price="25元";
		
		alert("电影票的主题:"+ticket.topic+"\n电影票的时间:"+ticket.time+"\n电影票的价格:"+ticket.price);
	</script>
</body>
</html>

2、内置对象

(1)、Gobal对象

(2)、Math对象

不用初始化创建,直接用关键词Math调用其所有的属性和方法

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>Math对象的简单应用</h3>
	<hr>
	<p>已知球体半径为100m,使用Math对象计算球体的体积</p>
	<script>
		//初始化球体的半径
		var R=100;
		//计算球体的体积
		var V=4/3*Math.PI*Math.pow(R,3);
		//四舍五入后显示计算结果
		alert("半径为100的球体体积为:"+Math.round(V)+"m^3")
	</script>
</body>
</html>

在这里插入图片描述

(3)、宿主对象

七、JavaScript类型转换

1、转换成字符串

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript的简单应用</title>
</head>

<body> 
	<h3>Math对象的简单应用</h3>
	<hr>
	<p>将数字200分半转换成二进制、八进制和十六进制</p>
	<script>
		//初始化变量
		var x=200;
		//转换为二进制
		var result1=x.toString(2);
		//转换成八进制
		var result2=x.toString(8);
		//转换成十六进制
		var result3=x.toString(16);
		alert("200的二进制表示是:"+result1+"\n200的八进制是:"+result2+"\n200的十六进制是:"+result3);
	</script>
</body>
</html>

在这里插入图片描述

2、转换成数字

"sgmediation.zip" 是一个包含 UCLA(加利福尼亚大学洛杉矶分校)开发的 sgmediation 插件的压缩包。该插件专为统计分析软件 Stata 设计,用于进行中介效应分析。在社会科学、心理学、市场营销等领域,中介效应分析是一种关键的统计方法,它帮助研究人员探究变量之间的因果关系,尤其是中间变量如何影响因变量与自变量之间的关系。Stata 是一款广泛使用的统计分析软件,具备众多命令和用户编写的程序来拓展其功能,sgmediation 插件便是其中之一。它能让用户在 Stata 中轻松开展中介效应分析,无需编写复杂代码。 下载并解压 "sgmediation.zip" 后,需将解压得到的 "sgmediation" 文件移至 Stata 的 ado 目录结构中。ado(ado 目录并非“adolescent data organization”缩写,而是 Stata 的自定义命令存放目录)目录是 Stata 存放自定义命令的地方,应将文件放置于 "ado\base\s" 子目录下。这样,Stata 启动时会自动加载该目录下的所有 ado 文件,使 "sgmediation" 命令在 Stata 命令行中可用。 使用 sgmediation 插件的步骤如下:1. 安装插件:将解压后的 "sgmediation" 文件放入 Stata 的 ado 目录。如果 Stata 安装路径是 C:\Program Files\Stata\ado\base,则需将文件复制到 C:\Program Files\Stata\ado\base\s。2. 启动 Stata:打开 Stata,确保软件已更新至最新版本,以便识别新添加的 ado 文件。3. 加载插件:启动 Stata 后,在命令行输入 ado update sgmediation,以确保插件已加载并更新至最新版本。4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值