JavaScript学习日志02

8. js中的对象


8.1. js中的全局对象介绍


String对象
Date对象




Math对象和Java中的基本一致

RegExp对象,正则对象,正则表达式的书写规则和Java也一致:

. 当前可以是任意字符
? 表示零次或一次
* 表示零次或多次
+ 表示一次或多次

() 对某个存在的正则进行分组 组的使用 \组号 $组号
{} 当前的规则可以出现的次数
{2} 正好 2次 {m,} 最少m次 {m,n} 最少m次 最多n
[] 当前位置上可以是中括号中某个字符
[abc] [^abc]

\\d 当前位置上可以数字
\\w 当前位置上可以是字母 数字 下划线
\b 单词边界
^ 行开始
$ 行结尾

练习:验证手机号





^[\u4e00-\u9fa5]{0,}$ 可以书写汉字

8.2. 自定义对象

8.2.1. 定义对象的第一种方式

通过关键字 function 定义一个对象。






8.2.2. 自定义对象的第二种写法;


在js中,{}表示一个对象 -- 要认识
属性的写法:
属性:值
多个属性需要使用逗号分开,

对象中的函数的定义方式:函数名:function(){函数体}
多个函数需要使用逗号分割,
并且函数和属性也需要使用逗号分开。
最后一个函数或者属性,不需要书写逗号

注意:对象在使用的时候,不需要new,直接赋值给其他变量,或者直接使用




9. bom介绍


BOM : browser object model 浏览器对象模型
js希望和浏览器有一定的交互的能力,




作用:通过bom模型创建出的对象,可以实现js和浏览器进行交互。



9.1. window对象介绍

9.1.1. 框架标签


框架标签的作用:1、可以把页面分割几个部分。2、引入其他页面,到本页面。
<frameset> 可以把页面进行分割(不能和body一块使用,把body删除)row分割上下 , cols分割左右
<frame> 引入其他的页面,进入到本页面。--- 最大的缺点就是不能和body一块使用



9.1.2. iframe


iframe也是一个框架标签,目的也是在一个页面中去引入其他的页面到本页面。
可以和其他的html的代码一起去书写。可能和body体一块使用



9.1.3. window


所有浏览器都支持 window 对象。它表示浏览器窗口。
window是js中的顶层对象。
所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。
全局变量是 window 对象的属性。
全局函数是 window 对象的方法。
框架标签内也有一个window对象。
甚至 HTML DOM 的 document 也是 window 对象的属性之一:













window对象中的方法或者属性在调用的时候,可以省略window对象。直接书写方法。

案例:让时间动起来,还可以进行开始和停止


业务中的Window.onoad可以不写,但是会出





<script type="text/javascript">
		// 周期的去执行一段代码。 第一个参数:表示要执行的代码或者,第二个参数:时间间隔。单位是毫秒
		//每一秒向span标签内去添加新的内容--新的日期
		// 返回值表示的是,当前循环执行的一个标识
		// 如果一个变量,没有定义到任何的方法或者对象内,表示的是一个全局的对象。
		var interval_id = window.setInterval("_setTime()", 1000);
		window.onload = function(){
			//一、把日期写入到--span里面去
			// 1、得到span标签
			var _time = document.getElementById("_time");
			var date = new Date();
			// 2、标签有一个innerHTML的属性。 表示从开始标签到结束标签内的所有内容
			_time.innerHTML= date.toLocaleString();
		} 
		function _setTime(){
			//一、把日期写入到--span里面去
			// 1、得到span标签
			var _time = document.getElementById("_time");
			var date = new Date();
			// 2、标签有一个innerHTML的属性。 表示从开始标签到结束标签内的所有内容
			_time.innerHTML= date.toLocaleString();
		}
		
		function _stopTime(){
			window.clearInterval(interval_id);//取消周期的去执行
		}
		
		function _startTime(){
		//  var interval_id = window.setInterval("_setTime()", 1000) 此时interval_id是一个局部变量
			interval_id = window.setInterval("_setTime()", 1000);
		}
</script>




倒计时案例



Close();open();关闭浏览器、打开浏览器
注意:打开的是谁,就在谁里面关闭
不支持当前关闭,支持open之后的关闭


Window.open();可以打开一个网页


Window.close();可以关闭一个网页




9.2. history对象:


存放一些访问过的url信息;


当前窗口访问过的url 注意:一定是访问过的历史url





这是2.html


这是3.html (一定是访问过的才能前进,后退)





location:包含当前的url信息;


9.3. Location对象


Location表示的是当前浏览器的地址栏对象。浏览器的地址中主要保存的是访问某个网站的URL地址

URL地址:统一资源定位符。
http://www.baidu.com:80?username=zhangsan&age=23&addredd=beijing

当前浏览器访问某个网站时使用的协议HTTP协议。
www.baidu.com 这是一个域名,其实背后对应的一个ip地址,ip地址对应的激素互联网中的某个设备
80 访问的是指定ip这台服务器上运行在哪个端口上的软件程序。

Location.href 拿到当前的url



10. dom介绍


DOM对象:Document Object Model 文档对象模型

W3C组织规定:
当浏览器把一个html文件加载到内存中之后,这个html文件,就是一个Document对象。并且在浏览器加载html文件中的所有标签时,把html文件中的所有标签页加载成不同的标签对象,以及标签中的属性,也加载成属性对象,标签中的文本也加载成文本对象。

浏览器在加载某个标签时,标签的文本数据,被加载成当前标签的一个子标签。
当我们把一个html文件加载完成之后,他们就得到这个html文件中的所有标签,属性,文本对象。
可以使用js技术结合Document对象,对html文件中的所有标签,进行各种操作。

在浏览器把html文件加载完成之后,标签被称作标签对象(元素节点),标签中的文件称为文本节点(文本对象),标签的属性称为属性节点(属性对象)。







10.1. document对象介绍






快速获取html中的页面的标签对象的。

getElementById 根据某个标签的id属性值,或者页面上这个标签对象,要求页面上的id必须唯一。



document.getElementsByName(String name ); 根据标签中name属性去查找指定的标签。返回的是标签对象数组。
点击选中的复选框然后输出alert();



getElementsByTagName(); 根据标签名去选择html中标签对象,返回值,标签对象的数组





当通过dom技术获取到页面上的某个标签之后,要对这个标签对象进行操作,这时需要查阅另外一个帮助文档DHTML。


10.2. 对象中的一些事件


onload:表示加载完成:window.onload 表示页面加载完毕
onblur: 表示输入框失去输入光标。通常是输入框中会使用。
onchange: 内容发生了变化。input , select
onclick: (单)点击事件, 按钮,img , a 标签
onmouseover:图片,tr ,div
onmouseout:
onsubmit : 表单提交的时候,会触发这个事件。

两张图片回来切换



10.3. 对象中的一些方法(函数)


appendChild : 为某一个标签,去添加子标签
removeChild :为某一个标签,删除孩子标签
setAttribute : 为某一个标签设置属性。


11. 备注
修改myeclipse的默认打开方式




12. 全选全不选
12.1. 页面准备:




12.2. 全选




12.3. 全不选




12.4. 反选




12.5. 复选框的-----全选/全不选




13. 表单验证
13.1. 页面准备



13.2. 清空请输入用户名




13.3. 校验用户名的信息




如果校验错误表单提交不了






对onsubmit 进行判断




14. json






json是独立与语言的。 和语言无关。

 

json 大体上属于 key:value 的形式

并且在json 中 [] 表示是一个数组。{} 表示是一个对象。

要求key 必须字符串以双引号 引起来 。value 不一定。 如果是number 不需要使用引号引起。

 

数组中包含的是对象。 对象里面是 key:value这种键值对。

数组可以当成value



15. 二级联动
15.1. 数据准备:

var china = [
     // {} 代表一个对象。 对象里面的 key:value,key:value  其中的key 就是对象的属性的名字,属性的值。
    {
        "p_name": "吉林省",
        "p_id": "jl",
        "cities": [
            {
                "c_name": "长春",
                "c_id": "cc"
            },
            {
                "c_name": "四平",
                "c_id": "sp"
            },
            {
                "c_name": "通化",
                "c_id": "th"
            },
            {
                "c_name": "松原",
                "c_id": "sy"
            }
        ]
    },
    {
        "p_name": "辽宁省",
        "p_id": "ln",
        "cities": [
            {
                "c_name": "沈阳",
                "c_id": "sy"
            },
            {
                "c_name": "大连",
                "c_id": "dl"
            },
            {
                "c_name": "抚顺",
                "c_id": "fs"
            },
            {
                "c_name": "铁岭",
                "c_id": "tl"
            }
        ]
        
    },
    {
        "p_name": "山东省",
        "p_id": "sd",
        "cities": [
            {
                "c_name": "济南",
                "c_id": "jn"
            },
            {
                "c_name": "青岛",
                "c_id": "qd"
            },
            {
                "c_name": "威海",
                "c_id": "wh"
            },
            {
                "c_name": "烟台",
                "c_id": "yt"
            }
        ]
        
    },
    {
        "p_name": "上海市",
        "p_id": "sh",
        "cities": [
            {
                "c_name": "闵行区",
                "c_id": "mh"
            },
            {
                "c_name": "徐汇区",
                "c_id": "xh"
            },
            {
                "c_name": "黄浦区",
                "c_id": "hp"
            },
            {
                "c_name": "浦东新区",
                "c_id": "pd"
            }
        ]
        
    }
];

怎么获取json里面的数据:


15.2. 页面准备


15.3. 页面初始化的时候,在省的select 标签添加内容


15.4. 选择省的时候,市的信息对应变化



15.5. 删除城市下面的select中




































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值