JavaScript(一)(数据类型,变量,类型转换,函数,内置对象)

什么是JavaScript?

JavaScript是一门世界上最流行的脚本语言

1.快速入门

(1)引入JavaScript

内部标签

<script>
//...
</script>

外部引入

<script src="js/nod.js" type="text/javascript" charset="utf-8"></script>
(2)浏览器调试

控制台输出

 Console.log(123);//打印变量在控制台

断点调试
在这里插入图片描述

2.语法

(1)基本数据类型

Java中有八种基本数据类型

整型:byte short int long
浮点型:float double
布尔型:boolean
字符型:char

js原始数据类型

number:数字类型,包含整数,小数,NaN(not a number)
string:字符串和字符类型 
boolean:布尔型 true和false
null:空类型
undefined:未定义,如果一个变量没有初始化值,默认就是undefined
(2)变量

js是一门弱类型语言,定义变量时,不需要规定其类型数据。

var i=“abc”;//使用var定义变量
alert(typeof i);//typeof运算符用于获取变量的数据类型
(3)自动类型转换
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			//这个+号起的是拼接符的作用
			var s="12";
			alert(s+10);//1210
			//=+字符串转换数字时,看字符串字面上是个数字不,如果是数字,就把他转换成数字。
			var s1=+"10";
			alert(s1+10);//20
			//当字符串这个字面上的值,转不了数字时,就会转换成NaN
			var aa=+"a100";
			//NaN:not a Number 不是数字的数字
			//NaN进行数学运算时结果还是NaN
			alert(aa*200);
			//* 乘号两端想要一个数字,但是bb不是数字类型 ,所以* 就会尝试着去转换,字面上能转换成数字就转了,转不了,转NaN
			var s2="20";
			alert(s2*10);//200
			//布尔类型转换为数字时 true转为1 false转为0
			var b=true;
			b=false;
			alert(b*10)
			//if括号里的类型想要一个布尔类型,给定的值与他期望的不一样,就会发生类型转换 
			//字符串转换为布尔类型 空串转换为false 非空串转换为true
			//数字转换为布尔类型 0转换为false 非0转换为true
			var str="qasda";
			if(str){
			}else{
			}
		</script>
	</head>
	<body>
	</body>
</html>

注意:自动类型转换时“=+”号的使用

3.函数

js中的函数,就类似于Java中的方法,可以封装一段功能逻辑,以实现重复调用。

(1)实现方式

方式1

//不推荐使用,
var fun=new Function("a,b","alert(a+b)");
fun(23,30);/* 调用 */

方式2

var test=function(a,b){
			/* 函数体 */
			alert(a+b);
		}
test(20,30);

方式3

function test2(a,b){
        /* 函数体 */
		alert(a+b);
	}
test2(20,40);
(2)函数中的arguments

其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中每个函数都会有一个Arguments对象实例arguments,它引用着函数的实参,可以用数组下标的方式"[]"引用arguments的元素。arguments.length为函数实参个数,arguments.callee引用函数自身。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			function add(){
				//arguments本质上是一个数组,可以把传过来的所有实参,放到这个数组中
				return arguments[0]+arguments[1]+arguments[2];
		  }
		  alert(add(20,30,40));
		</script>
	</head>
	<body>
	</body>
</html>
(3)使用
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			function test(a,b,c){
				var sum=a+b+c;
				return sum;
			}
			/* js中调用函数时,如果函数有形参 传递参数时可以多传 但是还是按照函数的形参来计算 */
			var sum1=test(10,20,30,40);
			alert(sum1);
		</script>
	</head>
	<body>
	</body>
</html>
(4)void运算符

a 标签有两个作用,第一个作用可以点击,第二个作用可以跳转页面,,有的时候,我只想保留 a 标签的可以点击作用,但是不想让他跳转页面,我们可以使用# 可以实现,但是不灵活。我们可以使用void 来说实现这个功能。

<a href="javascript:void(0)">可以点击不跳转页面</a>
<a href="javascript:void(show())">拦截跳转页面还可以执行函数</a>
<a href="javascript:show()">JS内联的写法,可以调用函数</a>

4.js中的内置对象

(1)String对象

①定义方式

String str= new String("adscs");//方式1
var str="123";//方式2

②属性

length:获取字符串的长度

③方法

charAt() 返回在指定位置的字符。 
				例子:var v="abcd";
				     var a=v.charAt(2);    
concat() 连接字符串。 
				例子:var v="ab";  var a="cd";
					var z=v.concat(a);		
indexOf() 根据字符检索此符在字符串中的索引。 
				例子:var v="abcde";
					var z=v.indexOf("c");			
lastIndexOf() 从后向前搜索字符串。 
substring() 提取字符串中两个指定的索引号之间的字符。 
toLowerCase() 把字符串转换为小写。
toUpperCase() 把字符串转换为大写。 
replace() 替换字符串。
				例子: var v="abceaaaa";
				var z=v.replace("a","h");  参1:被替换的字符/或字符串   参数2:替换成哪个字符/或字符串
split() 把字符串分割为字符串数组。
 				例子: var v="a#b#c#d";
				var z=v.split("#");
 trim():去除字符串两端的空格
(2)Number对象

①定义方式

var num=new Number(555.66);//方式1
var num1=Number(5566);//方式2

②方法

toString()  把数字类型转成字符串类型
toFixed() 把数字转换为字符串,结果的小数点后有指定位数的数字。 
toPrecision()  把数字格式化为指定的长度。也就是小数后面保留几位
(3)Date对象

①创建方式

 var  date=new Date();

②案例演示

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/moment.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">
			var date=new Date();
			var time=date.getTime()//获取从1970-01-01 00:00:00到当前的毫秒值
			alert(time);
			var localtime=time.toLocaleString()//将Date对象转换为字符串
			alert(localtime);
			var day=date.getDate();//从date对象返回一个月中的某一天
			alert(day);
			alert(date.toDateString());//把Date对象的时间部分转换为字符串  Thu Mar 19 2020
			alert(date.toTimeString());//把Date对象的日期部分转换为字符串   10:31:14 GMT+0800 (中国标准时间)
			//我们也可以使用第三方处理日期的js moment.js
			var datastr=moment().format("YYYY-MM-DD HH:mm:ss");//把当前日期 按照指定格式去格式化日期
			alert(datastr);//2020-03-19 11:04:58
			var time=new Date().getTime();
			/* 把指定毫秒值 和格式化成日期字符串 */
			var datastr2=moment(time).format("YYYY-MM-DD HH:mm:ss")
		     alert(datastr2)
		</script>
	</head>
	<body>
	</body>
</html>   
发布了58 篇原创文章 · 获赞 13 · 访问量 1863

猜你喜欢

转载自blog.csdn.net/weixin_44324174/article/details/104949757
今日推荐