细学JavaScript笔记

1、js的String对象
** 创建String对象
*** var str = “abc”;

** 方法和属性(文档)
	*** 属性 length:字符串的长度

	*** 方法
	(1)与html相关的方法
		- bold():使用粗体显示字符串
		- fontcolor(): 方法用于按照指定的颜色来显示字符串
		- fontsize(): 使用指定的尺寸来显示字符串

		- link(): 方法用于把字符串显示为超链接
			**** str4.link("https://www.baidu.com/?tn=48021271_22_hao_pg")

		- sub(): 把字符串显示为下标
		
		- sup(): 把字符串显示为上标 

	(2)与Java相似的方法
		- concat(): 连接字符串
			** //concat方法
			var str1 = "abc";
			var str2 = "defg";
			document.write(str1.concat(str2));

		- charAt(): 方法可返回指定位置的字符
			** var str3 = "abcdefg";
			document.write(str3.charAt(20));//字符位置不存在返回空字符

		- indexOf(): 方法可返回某个指定的字符串值在字符串中首次出现的位置
			** var str4 = "poiuytr";
			document.write(str4.indexOf("w"));//如果字符不存在,返回-1

		- split(): 方法用于把一个字符串分割成字符串数组
			** var str5 = "p-o-i-u-y-t-r";
			var arr1 = str5.split("-")
			document.write("length:"+arr1.length);

		- replace(): 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串
			* 传递两个参数:
				-- 第一个参数是原始字符
				-- 第二个要替换成的字符

		- substr() 从起始索引号提取字符串中指定数目的字符
		与 substring() 提取字符串中两个指定的索引号之间的字符 
			* var str7 = "abcdefghijkmnlopqrstuvwxyz";
			document.write(str7.substr(5,3));//从第5位开,向后截取3
			document.write("<br/>");
			document.write(str7.substring(5,3));//从第几位开始到第几位结束[3,5)默认小的在前面

2、js的Array对象
** 创建数组(三种)
- var arr1 = [1,2,3];
- var arr2 = new Array(3);//长度是3
- var arr3 = new Array(1,2,3);//数组中的元素是1 2 3

** 属性:length:查看数组的长度

** 方法
	- concat(): 方法用于连接两个或多个数组
		* var arr11 = [1,2,3];
		var arr12 = [4,5,6];
		document.write(arr11.concat(arr12));

	- join(): 方法用于把数组中的所有元素放入一个字符串
		* var arr13 = new Array(3);
		arr13[0] = "a";
		arr13[1] = "b";
		arr13[2] = "c";
		
		document.write(arr13);
		document.write("<br/>");
		document.write(arr13.join("+"));

	- push(): 方法可向数组的末尾添加一个或多个元素,并返回新的长度
		** 如果添加的是一个数组,这个时候数组被当做整体

		* var arr14 = new Array(3);
		arr14[0] = "tom";
		arr14[1] = "lucy";
		arr14[2] = "jack";
		document.write(arr14);
		document.write("<br/>");
		document.write(arr14.push("laowang"));
		document.write("<br/>");
		document.write(arr14);

		* document.write("<hr/>");
		var arr15 = ["aaa","bbb","ccc"];
		var arr16 = ["www","rrr"];
		document.write(arr15.push(arr16));

	- pop(): 方法用于删除并返回数组的最后一个元素
		* var arr17 = ["aaa","bbb","ccc"];
		document.write(arr17);
		document.write("<br/>");
		document.write(arr17.pop());
		document.write("<br/>");
		document.write(arr17);

	- reverse(): 方法用于颠倒数组中元素的顺序
		* var arr18 = ["aaa","bbb","ccc","ddd"];
		document.write(arr18);
		document.write("<br/>");
		document.write(arr18.reverse());

3、js的Date对象
** 在Java里面获取当前时间
Date date = new Date();
//格式化
//toLocaleString()

** js里面获取当前时间
	var date = new Date();	
	//获取当前时间
	var date = new Date();
	document.write(date);//Sun May 31 2020 11:07:52 GMT+0800 (中国标准时间)

	//转换成习惯格式
	document.write("<hr/>");
	document.write(date.toLocaleString());
	
** 获取当前的年的方法
	getFullYear(): 从 Date 对象以四位数字返回年份
		**** document.write(date.getFullYear());
	
** 获取当前的月的方法
	getMonth(): 从 Date 对象返回月份 (0 ~ 11)
		*** 返回的是0-11月,如果想要得到准确的值,加1
		**** var date1 = date.getMonth()+1;
		document.write(date1);

** 获取当前的星期的方法
	getDay(): 从 Date 对象返回一周中的某一天 (0 ~ 6)
	** 外国朋友,把星期日作为一周的第一天,星期日返回的是0
	   而星期一到星期六 返回的是1-6
	** document.write(date.getDay());

** 获取当前的日的方法
	getDate(): 从 Date 对象返回一个月中的某一天 (1 ~ 31)
		**** document.write(date.getDate());

** 获取当前小时的方法
	getHours(): 返回 Date 对象的小时 (0 ~ 23)
		**** document.write(date.getHours());

** 获取当前分钟的方法
	getMinutes(): 返回 Date 对象的分钟 (0 ~ 59)
		**** document.write(date.getMinutes());
	
** 获取当前秒的方法
	getSeconds(): 返回 Date 对象的秒数 (0 ~ 59)
		**** document.write(date.getSeconds());

** 获取毫秒数
	getTime(): 方法可返回距 1970 年 1 月 1 日之间的毫秒数

	** 应用场景:
		*** 使用毫秒数处理缓存的效果(不有缓存)
			http://www.baidu.com?毫秒数

4、js的Math对象
* 数学的运算
** 里面的都是静态方法,使用可以直接使用 Math.方法()

** ceil(x):对数进行上舍入

** floor(x):对数进行下舍入

** round(x):把数四舍五入为最接近的整数

** random():返回 0 ~ 1 之间的随机数
	- 得到0-9的随机数
	document.write(Math.floor(Math.random()*10));

5、js的全局函数
* 由于不属于任何一个对象,直接写名称使用

** eval():执行js代码(如果字符串是一个js代码,使用方法直接执行)
	**** var str = "alert('1234');";
	// alert(str);
	eval(str);

** encodeURI():对字符进行编码

   decodeURI():对字符进行解码

   encodeURIComponent() 
   decodeURIComponent()

** isNaN():判断当前字符串是否为数字
	-- var str2 = "123";
	alert(isNaN(str2));
	*** 如果是数字,返回false
	*** 如果不是数字,返回true

** parseInt() 和 parseFloat():类型转换
	** var str3 = "123";
	document.write(parseInt(str3)+1);

6、js的函数的重载
** 什么是重载?方法名相同,参数不同

** js的重载是否存在?不存在
	** 调用最后一个方法
** js里面是否存在重载?
	(1)js里面不存在重载。
	(2)但是可以通过其他方法模拟重载的效果(通过arguments数组来实现)

	***         function add1(){
	    //比如传递的是两个参数
	    if(arguments.length == 2){
		return arguments[0]+arguments[1];
	    }else if(arguments.length == 3){
		return arguments[0]+arguments[1]+arguments[2];
	    }else if(arguments.length == 4){
		return arguments[0]+arguments[1]+arguments[2]+arguments[3];
	    }else{
		return 0;
	    }
	}

7、js的bom对象
** bom:broswer object model:浏览器对象模型

** 有哪些对象?
*** navigator:获取客户机的信息(浏览器的信息)
	- navigator.appName
	- document.write(navigator.appName);

*** screen:获取屏幕的信息
	- document.write(screen.width);
	document.write("<br/>");
	document.write(screen.height);

*** location:请求url地址
	- href属性
	**** 获取到请求的url地址
		- document.write(location.href);

	**** 设置url地址
		- <input type="button" value="tiaozhuan" onclick="href1();">
		鼠标点击事件
		function href1(){
		    // alert("aaaaa");
		    location.href = "01-js的string对象一.html";
		}

*** history:请求url的历史记录
	- 创建三个页面
		1、创建第一个页面a.html写一个超链接到b.html
		2、创建b.html超链接到c.html
		3、创建c.html
	- 到访问的上一个页面
		history.back();
		history.go(-1);

	- 到访问的下一个页面
		history.forward();
		history.go(1);
		
**** window(******)
		* 窗口对象
	* 顶层对象(所用的bom对象都是在window里面操作的)

	** 方法
		- window.alert() :页面弹出一个框,显示内容
			** 简写alert()

		- confirm() :确认框
			- var falg = window.confirm("显示的内容");

		- prompt() :输入的对话框
			- window.prompt("请输入",0);
			- window.prompt("显示的提示内容","输入框中的默认值");

		- open() :打开一个新窗口
			** open("打开新窗口的地址","","窗口特征,比如窗口高度宽度")
			- 创建一个按钮,点击这个按钮,打开一个新的窗口
			- window.open("08-js的bom对象一.html","","width=200,height=100");

		- close() : 关闭浏览器窗口(浏览器兼容性差)
			- window.close();

		- 做定时器
		** setInterval("js代码",毫秒数) 按照指定的周期(以毫秒计)来调用函数或计算表达式。
			- 表示每三秒,执行一次alert方法
			window.setInterval("alert('123');",3000);

		** setTimeout("js代码",毫秒数) 在指定的毫秒数后调用函数或计算表达式。
			- 表示在毫秒数之后执行,但是只会执行一次
			window.setTimeout("alert('abc');",4000);

		** clearInterval() : 取消由 setInterval() 设置的 timeout。
			var id1 = window.setInterval("alert('123');",3000);
			clearInterval(id1);

		** clearTimeout() 取消由 setTimeout() 方法设置的 timeout。
			var id2 = window.setTimeout("alert('abc');",4000);
			clearTimeout(id2);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值