js及jQuery总结(四)

05.01_ JavaScript全局函数

全局函数
//全局函数:不属于任何一个对象,直接通过函数名称调用即可
//1.eval:识别字符串中的js代码
//如果字符串是一个js代码,则直接只用
var str = "alert('1234')";
eval(str);

//2.encodeURI:对字符进行编码
var s1 = "测试中文abcd";
var r1 = encodeURI(s1);
document.write(r1);

document.write("<hr />");

//%E6%B5%8B%E8%AF%95%E4%B8%AD%E6%96%87abcd
//3.decodeURI;对字符进行解码
document.write(decodeURI(r1));

document.write("<hr />");

//4.isNaN:判断是否是NaN
//不是数字则返回true,是数字则返回false
document.write(isNaN("123"));
document.write("<hr />");
document.write(isNaN("abc1243"));
document.write("<hr />");

//5.parseInt:类型转换【将字符串转换为整型】
//parseFloat
var s2 = "aa123a";
document.write(s2 + 1);  //字符串的拼接
document.write("<hr />");
//如果字符串不能正常的转化为一个整型,但是字符串的前半部分为数字,则直接将数字截取出来
//如果数字存在于字符串的中间或者后面,结果为NaN
document.write(parseInt(s2) + 1);

05.02_ 全局变量和局部变量

  • 全局变量:在script标签中定义的变量,在整个页面的js部分都可以使用
  • 局部变量:在函数内部定义的变量,作用范围只能在函数内部
<script>
	// 第一个JavaScript标签内定义全局变量aa
	var aa = 10;
	document.write(aa);
	document.write("<br />");
	
	// 函数内部使用变量aa
	function text01(){
		document.write(aa);
	}
	text01();
	
	document.write("<br />");
	
	function text02(){
		// 函数内部定义变量bb
		var bb = 20;
		document.write(bb);
	}
	text02();
	//函数外部使用变量bb
	document.write(bb);
	document.write("<br />")
	document.write("在错误之后访问aa:" + aa);
	document.write("<br />")
</script>
<script>
	// 在另外一个JavaScript标签中使用上一个标签中的全局变量aa
	document.write("在外部访问aa:" + aa)
</script>

05.03_ js中的对象–string对象

字符串对象的创建和使用
创建字符串对象
<script>
	//字符串就是一串字符,由单引号或者双引号【类似于Python】
	//第一种创建方式--直接赋值
	var str1 = "hello";
	
	//第二种创建方式--new
	var str2 = new String();  //str2 = "";
	
	var str3 = new String("hello");
	
	//第二种创建方式--直接通过String创建,相当于构造函数
	var str4 = String("hello");
</script>
字符串常用操作方法
<script>
	//一.和html相关的函数
	//1.将字符串加粗  <b>
	var str1 = "aaa";
	document.write(str1.bold());
	document.write("<hr />");
	
	//2.设置字体颜色  <font  color="">
	//默认颜色为绿色
	document.write(str1.fontcolor("red"));
	document.write("<hr />");
	
	//3.设置字体大小  ,取值范围1~7,size
	document.write(str1.fontsize(5));
	document.write("<hr />");
	
	//4.将字符串设置为超链接  <a href>
	var str2 = "点击";
	document.write(str2.link("http://www.baidu.com"));
	document.write("<hr />");
	
	//5.设置上标和下标 <sub>  <sup>
	var str3 = "fhahg";
	var str4 = "hello";
	document.write(str3.sub());
	document.write(str4.sup());
	document.write(str3);
	document.write("<hr />");
	
	//【属性】
	var s = "hello world";
	//1.获取字符串的长度
	document.write(s.length);
	document.write("<hr />");
	
	//二、类似于Python中字符串中的函数
	//1.字符串的拼接:concat()
	var string1 = "hello";
	var string2 = "js";
	document.write(string1.concat(string2));
	document.write("<hr />");
	
	//2.获取指定索引处上的字符:charAt()
	document.write(s.charAt(6));
	document.write("<hr />");
	
	//3.获取指定的子字符串在源字符串中第一次出现的位置:indexOf()
	document.write(s.indexOf("l"));
	document.write("<hr />");
	
	//4.可以将字符串进行切割:split()
	//注意:得到的结果为一个数组
	var string3 = "zhangsan is a good student";
	var arr = string3.split(" ");
	document.write(arr);
	//array数组对象,通过typeof操作符或者typeof()获取到的结果都为object
	document.write(typeof arr);
	document.write("<hr />");
	
	
	//5.字符串替换:replace
	document.write(string3.replace("zhangsan","lisi"));
	document.write("<hr />");
	
	//6.获取子串:substring
	var string4 = "zhangsan is a good student";
	//从指定位置截取到结尾,包含指定索引
	document.write(string4.substring(3));  //ngsa
	document.write("<hr />");
	//截取一个区间中的子字符串,包头不包尾
	document.write(string4.substring(3,7));
	document.write("<hr />");
	
	//substr
	//从指定位置截取到结尾,包含指定索引
	document.write(string4.substr(3));
	document.write("<hr />");
	//第一个参数是开始位置,第二个参数是截取指定个数的字符
	document.write(string4.substr(3,7));//ngsan i
</script>

05.04_ js中的对象–数组对象

  • 数组对象:
    • 存放一组数据的集合
创建数组
<script>
	//数组使用[]表示
	var arr1 = [1,3,34,46];
	
	var arr2 = new Array(12,2,true,"j");
	document.write(arr1);
	document.write(typeof(arr1))
	document.write("<br />")
	document.write(arr2);
	document.write(typeof(arr2))
	document.write("<br />")
	//初始化一个数组,数组中有4个元素,没有元素值
	var arr3 = new Array(4);
	document.write(arr3);
</script>
数组常用操作方法
<script>
	//属性
	//1.获取数组的长度:length
	var arr1 = [43,54,66,7,7];
	document.write(arr1.length);
	document.write("<hr />");
	
	//方法
	//1.拼接:concat
	var arr11 = [24353,55];
	var arr12 = [124,54,54,66];
	document.write(arr11.concat(arr12));
	document.write("<hr />");
	
	//2.合并:join
	var arr2 = new Array(3);
	//给数组的元素赋值,格式:数组名[索引] = 值
	arr2[0] = "aaa";
	arr2[1] = "bbb";
	arr2[2] = "ccc";
	document.write(arr2);
	document.write("<hr />");
	
	//字符串通过split可以分割成数组,数组可以通过join拼接成字符串
	document.write(arr2.join("-"));
	document.write("<hr />");
	
	//3.向数组的末尾添加元素:push【入栈】
	var arr3 = new Array(3);
	//给数组的元素赋值,格式:数组名[索引] = 值
	arr3[0] = "jack";
	arr3[1] = "tom";
	arr3[2] = "rose";
	
	//返回数组的新的长度
	var num = arr3.push("hreey");
	document.write(num);
	document.write("<br />")
	document.write("arr3:"+arr3+"<br />");
	//给数组首部插入元素:unshift
	arr3.unshift("first");
	
	
	//4.反转:reverse
	document.write(arr2.reverse());
	document.write("<hr />");
	
	//5.截取数组:slice【包头不包尾】
	document.write(arr2.slice(0,1)+"<br />");
	document.write("<hr />")
	
	//6.遍历数组
	for(var i = 0;i < arr2.length;i++) {
		var element = arr2[i];
		document.write(element+"<br />")
	}
	
</script>

05.05_ js中的对象–object对象

object对象创建和使用

<script>
	//方式一:创建一个Object对象
	var person = new Object();
	//动态给对象添加属性
	person.name = "zhangsan";
	person.age = 10;
	person.sex = "g";
	//动态给对象添加方法
	person.show = function(){
		document.write("my name is " + person.name + ",今年" + person.age);
	}
	
	//调用函数
	person.show();
	
	document.write(person + "<br />")
	document.write("<hr />");
	//方式二:通过字面量的形式创建object对象
	var p = {
		name:"lisi",
		age:12,
		sex:"b",
		show:function(){
			//this其实就相当于是Python中的self,表示当前对象的引用
			document.write("my name is " + this.name + ",今年" + this.age);
		}
	}
	
	p.show();
	
	//删除属性或者方法  【Python:del  js:delete】
	delete p.name;
	
	p.show();//undefined
	
	//注意:一般情况下,使用点语法访问属性或者调用方法,
	//在js中,可以通过[]的方式访问属性
	document.write(person.name);
	document.write(person["name"]);
</script>

05.06_ js中的对象–Math对象

Math常用函数
<script>
	//Math:主要进行数学的运算,其中的函数都是静态函数,调用的时候直接Math.
	//四舍五入
	document.write(Math.round(3.6));
	document.write("<hr />");
	
	//floor:向下取整  ceil :向上取整
	//max:最大值    min:最小值
	//abs:绝对值
	//pow:Math.pow(2,3);求2的3次方
	//sqrt:开平方
	
	//求随机数
	//返回结果值在0~1之间
	document.write(Math.random());
</script>

05.07_ js中的对象–Date对象

创建Date对象
<script>
	//创建
	//1.直接Date函数
	//注意:不管是否传参数,获取的都是当前的时间【字符串】
	var date1 = Date("2017-03-26");
	document.write(date1);
	document.write("<hr />");
	
	//2.构造函数:不传参数
	var date2 = new Date();
	document.write(date2);
	document.write("<hr />");
	
	//3.构造函数:需要传参数
	//参数:表示日期的字符串
	//格式:week,month,day,year,hours:minute:seconds
	//字符串的格式:通过/或者-都可以相连
	var date3 = new Date("2017/03/26");
	document.write(date3);
	document.write("<hr />");
	
	//4.构造函数:参数(年,月,日,时,分,秒,毫秒)
	//注意:月份是0~11,星期是0~6,0代表是星期天
	var date4 = new Date(2018,3,20,11,29,23);
	document.write(date4);
	document.write("<hr />");
	
	//5.构造函数:参数是毫秒
	var date5 = new Date(437467);
	document.write(date5);
</script>
Date对象常用函数
<script>
	//创建日期对象
	var date = new Date();
	
	//获取:getXXXX
	//获取年份
	document.write(date.getFullYear());
	document.write("<hr />");
	
	//获取月份
	document.write(date.getMonth());
	document.write("<hr />");
	
	//获取日期
	document.write(date.getDate());
	document.write("<hr />");
	
	//获取星期
	document.write(date.getDay());
	document.write("<hr />");
	
	//获取时分秒毫秒:getHours   getMinutes   getSeconds   getMilliseconds
	//获取从1970开始到现在的毫秒数【时间戳】
	document.write(date.getTime());
	document.write("<hr />");
	
	//修改值:setXXXX
	//设置年份
	date.setFullYear(2020);
	
	//设置月份
	//当参数大于11,则当前年份会增加
	date.setMonth(12);
	
	//设置日期
	//当参数大于18,29,30,31,则当前月份会增加
	date.setDate(31);
	
	//setHours()  setMinutes()   setSeconds()
	
	//转换成字符串
	document.write(date.toLocaleString());
	document.write("<hr />");
	document.write(date.toLocaleDateString());
	document.write("<hr />");
	document.write(date.toLocaleTimeString());
	document.write("<hr />");
	
	//parse();解析日期字符串
	//将一个时间的字符串转换为时间戳
	document.write(Date.parse("2018-04-20"));
	document.write("<hr />");
	
	//Date对象间的运算
	var date1 = new Date("2018-10-10 10:10:10");
	var date2 = new Date("2017-10-10 10:10:10");
	
	//Date对象之间可以直接进行加减运算,得到的结果为毫秒
	document.write(date1 - date2);
</script>

如有错误,请在下面评论。好及时更正,谢谢!

猜你喜欢

转载自blog.csdn.net/wujialaoer/article/details/82883101