Python学习笔记第二十四周(JavaScript补充)
目录:
一、JS补充
1、函数类型
2、string对象
3、instanceof
4、Array 数组对象
5、Date对象
6、RegExp 正则表达式
7、Math对象
二、BOM补充
1、window对象
2、histroy对象
3、location对象
三、DOM补充
四、替换clear:both撑开页面的方法
五、show hide toggle方法
内容:
类型函数:
1、typeof
只能判断基本数据类型,对于引用数据类型,只能判断它为object
var s=8;
console.log(typeof(s));
var s2=new String('hello2');
console.log(typeof(s2)); //没法判断它的具体类型
2、instanceof
var s3= new String('hello')
console.log(s3 instanceof(String));//判断s3是否为String实例化的对象
3、String对象
String有两种创建方式:
1) var s=“hello”;
2)var s=new String(‘hello’);
String可以操作的方法:
1)length
2)字体:
s.italics() 斜体
s.bold() 加粗
s.anchor() 链接,正确写法:s.anchor(‘alex’)
3)大小写转换:
s.toUpperCase();都变大写
s.toLowerCase();都变小写
4)获取指定字符:
s.charAt(1) 根据索引取值
5)查询字符串:
match();
search();
s.search('h'); 返回第一个匹配结果的索引值
s.match('l'); 返回所有的匹配结果的数组
6)replace
s.replace(‘e’,'E')
7) split
s.split('e')
8) concat 拼接
s.concat('world')
9) substr sbustring slice 截取字符串
s.substr(1,2)
s.slice(1,-2) slice可以倒着取
10)Indexof
s.IndexOf(‘h’)
s.lastIndexOf('h')
4、Array 数组对象
var arr=[];
var arr=[1,2,3,4,5];
var arr=new Array(1,2,3,4,5)
var arr2 = new Array(3) 表示占了3个位置,三个值都是undefined,如果采用初始化对象的方式创建数组
如果里面只有一个值还是数字,那么数字表示长度而不是内容
Array的方法:
1、join方法
var ret = ['hello', 'world'].join('+++++')
2、shift unshift pop push方法(栈方法)
补充:
栈操作:
先进后出,有压栈和弹栈两个操作
队列操作:
先进先出
var arr1=[1,4,6];
arr1.push(13);
console.log(arr1) 发现13放在最后面
arr1.pop() 弹最后的数值
arr1.shift(45);从前面插入
arr1.unshift() 从前面移除
3、sort和reverse方法
arr1.reverse();反转
arr1.sort(); 排序
4、Date对象
创建方式:
var date_obj=new Date()
console.log(date_obj.toLocaleString())
var date_obj = new Date('017/07/20 16:30')
console.log(date_obj.toLocaleString())
date_obj.getFullYear();
date_obj.getZMonth();
date_obj.getDate();
date_obj.getDay();
date_obj.getHours();
date_obj.getSeconds();
date_obj.getMinutes();
date_obj.getHourMinuteSecond();
date_obj.getMilliseconds();
5、RegExp 正则表达式
var re_obj=new RegExp("\d+","g");
console.log(re_obj.test('asdf2345dk'))
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <script>
//方法一
var re_obj = new RegExp('\d+','g')//定义规则,后面的g表示全局通用,如果是i表示不区分大小写,可以写成gi
console.log(re_obj.test('abd345adf234dg'))//test方法表示测试,匹配成功返回true
//方法二
var reg2 = /^[a-zA-Z][a-zA-Z0-9_]{5,11}$/g;
console.log(reg2.test('ste11345')); //匹配的内容:
var s='helee2234o2351'
console.log(s.match(/\d+/g))//取出所有匹配的内容放到数组中去
console.log(s.search(/\d+/g))//匹配第一个结果的索引值,只能取一个
console.log(s.split(/\d+/g))//取出数据分割值
console.log(s.replace(/\d+/g,"*"))//替换匹配出来的数字
</script>
</body>
</html>
6、Math对象
console.log(Math.random()); 随机小数
console.log(Math.round(2.8)); 取四舍五入值
console.log(100*Math.pow(2,3));2的3次方
二、BOM对象
BOM浏览器对象模型,可以对浏览器窗口进行访问和操作,使用BOM,开发者可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作
使JavaScript有能力与浏览器对话
1、window对象
所有浏览器都支持window对象
概念上将一个html文档对应一个window对象
功能上讲控制浏览器窗口的
使用上讲,window对象不需要创建对象,直接使用即可
例如:window.alert() 是window对象,前面的值可以不写
window对象方法:
1、alert()显示带有一段消息和一个确认按钮的警告框
2、confirm()显示带有一段消息以及确认按钮和取消按钮的对话框
3、prompt() 显示可提示用户输入的对话框
4、open() 打开一个新的浏览器窗口或查找一个已命名的窗口
5、close()关闭浏览器窗口
6、setInterval()按照指定周期(以毫秒计)
7、clearInterval()取消由setInterval()设置的timeout
8、setTimeout()在指定的毫秒数后调用函数或计算表达式
9、clearTimeout()取消setTimeout()方法设置的timeout
10、scrollTo()把内容滚动到指定的坐标
例子:
var ret=confirm('是否保存');
alert(ret)
if(ret == true{}{ }else{ }
//可以根据返回值来进行后面的操作
confirm方法
var ret=prompt('hello')
alert(ret)
返回值是用户输入的内容
如果什么都不输入,就返回空,如果选择取消,就返回null
prompt操作
2、history对象
能够知道用户上一次从哪来,下一次往哪去,也就是浏览器的前进和回退按钮
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input type="button" value="前进" onclick="func1();"/>
<a href="histroy2.html">lesson2</a> <script>
function func1() {
history.forward(); }
</script>
</body>
</html>
histroy1
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input type="button" value="后退" onclick="func2();"/>
<a href="histrory1.html"></a>
<script>
//history内部有三种方法:forward back go
function func2() {
history.back(); }
</script>
</body>
</html>
histroy2
3、location对象
方法:
1、locatin.reload() 重新加载界面
三、DOM对象
DOM是W3C的标准,定义了访问HTML和XML文档的标准
推荐:
parentElement 父节点标签元素
children 所有子标签
firstElementChild 第一个子标签元素
lastElementchild 最后一个子标签元素
nextElementSibing 下一个兄弟标签元素
previousElementSibing 上一个兄弟标签元素
DOM Event(事件)
1、onclick
2、ondblclick 当用户双击某对象时调用的事件句柄
3、onfoucs 元素获取焦点 ,input点击输入框时获取焦点
例子:
<input type='text'/ onfouce="func1();"> function func1(){ alert(111)
}
4、onblur 失去焦点时触发的事件
5、onchange 一旦内容改变就触发
备注:input标签的DOM对象,判断非空字符是通过Document.getElementzByid('xx').value.trim().length==0,其中trim()表示去掉空格
6、onkeydown 某个键盘按键被按下触发
7、keyCode 对于keypress事件,虚拟键盘码不同,对于不同的键盘码可以区别不同的按键
8、onkeyup 当按键松开时触发
9、onmousedown 鼠标按键按下
10、onmousemove 鼠标被移动
11、onmouseout 鼠标从某元素移开
12、onmouseover 鼠标移到某元素之上
13、onsubmit 只能用于form表单
14、onselect 文本被选中
例子:判断并阻止表单提交内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form onsubmit="return check();">
<input type="text" name="username"/>
<input type="submit" value="submit"/>
</form>
<script>
function check() {
alert('123');
return false;
}
</script>
</body>
</html>
标签的增删改查:
1、增加:
document.createElement('p') 创建一个p标签
例子:
var ele = document.getElementById('div1');
var son=document.createElement('p')
son.innerHTML='<em>hello world</em>'
ele.appendChild(son);
2、移除:
removeChild();
例子:
var ele = document.getElementById('div1');
var last_son = ele.lastElementChild;
ele.removeChild(last_son);
3、修改:
例子:
var ele = documnt.getElementById('div1');
ele.style.fontSize ="30px";
关于class操作:
elementNode.className
var ele = documnt.getElementById('div1');
ele.className 查找这个标签对应的class的名称
elementNode.classList.add
elementNode.classList.remove
改变HTML属性:
getAttribute()获取属性
setAttribute()设置属性
例子:
var ele=document.getElementById('add')
ele.onclick=function(){
var div1=document.getElementByClassName('div1')[0]
var img=document.createElement('img')
img.src='a.jpg' 这个方式是dynmic html语法,动态html
这个也可以写成 img.setAttribute('src','a.jpg') a.jpg是一张图片
div1.appendChild(img);
}
四、替换clear:both方法:
使用class名:after{
content:ooo;必须的
display:block;
clear:both;
visibility:hidden;
height:0;
}
五、jQuery动画效果
$('#id1').show(1000) 会显示display:none的标签,1000表示1s后执行该动作
$('#id1').hide() 会隐藏display:block的标签
$('#id1').toggle() 会判断标签属性然后做相反的动作
$('#id1').fadein(1000) 会将display:none的标签显示
$('#id1').fadeout(1000) 会将display:block的标签隐藏
$('#id1').fadetoggle(1000) 判断并进行相反的操作
$('#id1').fadeto(1000,0.3) 会调整透明度
Python学习笔记第二十四周(JavaScript补充)的更多相关文章
- Python学习笔记第二十六周(Django补充)
一.基于jQuery的ajax实现(最底层方法:$.jax()) $.ajax( url: type:''POST“ ) $.get(url,[data],[callback],[type]) #c ...
- Python学习笔记第二十五周(Django补充)
1.render_to_reponse() 不同于render,render_to_response()不用包含request,直接写template中文件 2.locals() 如果views文件中 ...
- Python学习笔记第二十二周(前端知识点补充)
目录: 一.伪类 二.样式 1.字体 2.背景图片 3.margin和padding 4.列表属性 5.float 6.clear 7.position 8.text-decoration(a标签下划 ...
- Python学习笔记第十四周
目录: 一.HTML 1.概述 2.HTML 二.CSS 一.HTML 1.概述 HTML是英文Hyper Text Mark-up Lang(超文本标记语言)的缩写,他是一种制作万维网页面的标准语言 ...
- Python学习笔记第二十周
目录: 一.ORM 1.查询补充 备注:forloop.counter介绍 二.Ajax 三.ORM多对多操作 内容: 一.ORM 1.查询补充: 1.models.USR.objects.all() ...
- Python学习笔记(十四)
Python学习笔记(十四): Json and Pickle模块 shelve模块 1. Json and Pickle模块 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不 ...
- Python学习笔记(十)
Python学习笔记(十): 装饰器的应用 列表生成式 生成器 迭代器 模块:time,random 1. 装饰器的应用-登陆练习 login_status = False # 定义登陆状态 def ...
- Python学习笔记第十六周
目录: 一.CSS补充 1.页面布局 二.JavaScript补充 1.条件判断 2.函数分类 3.序列化 4.转义 5.eval 6.时间 7.作用域 三.DOM 1.间接查找 文本操作 样式操作 ...
- Python学习笔记(十五):类基础
以Mark Lutz著的<Python学习手册>为教程,每天花1个小时左右时间学习,争取两周完成. --- 写在前面的话 2013-7-24 23:59 学习笔记 1,Python中的大多 ...
随机推荐
- GitHub学习三-远程版本库更新与提交
1.远程版本库更新 一般来说,将本地与远程相关联之后,首先将数据从远程更新下来再上传比较好. 输入 git pull origin master 如果新建版本库的话勾选了初始化包含readme.md, ...
- python 解析与生成xml
xml.etree.ElementTree模块为xml文件的提取和建立提供了简单有效的API.下文中使用ET来代表xml.etree.ElementTree模块. XML是一种内在的分层的数据形式,展 ...
- 2015-09-29 js2
Javasript 六. 条件语句 1. 比较运算符 == .!=.>.>=.<.<= 转大/小写:toUpperCase().toLowerCase() 2. 逻辑运算符(与 ...
- 【转】JavaScript => TypeScript 入门
几个月前把 ES6 的特性都过了一遍,收获颇丰.现在继续来看看 TypesScript(下文简称为 “TS”).限于经验,本文一些总结如有不当,欢迎指正. 官网有这样一段描述: TypeScript ...
- 创建含有多module的springboot工程(八)
创建根工程 创建一个maven 工程,其pom文件为: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <?xml version="1.0" enc ...
- 将数组,矩阵存入csv文件中
我们在做各种模型训练时,往往会先将数据处理成矩阵,然后交给建模的人去训练.这时通常数据清洗者提交的是保存了矩阵的文件,一般为TXT或csv,接下来主要讲解我在实现这个过程中遇到的一些问题. impor ...
- 尚学堂java答案解析 第三章
本答案为本人个人编辑,仅供参考,如果读者发现,请私信本人或在下方评论,提醒本人修改 一.选择题 1.A 2.BD 解析:switch的的判断表达式的数据类型:byte short int ch ...
- Linux下IP的存储位置
在linux下,配置多个IP的话,通常是eth0... eth0. ..eth0.x等等, 那么如果要配置大量的IP呢,这么配置也是可以的,但是繁琐,虽说这种情况很少. 对于添加大量IP,有一定规定的 ...
- 删除Mac OS X中Finder文件打开方式列表的重复程序或失效的
清理列表, 可以在终端中输入下面提供的一行命令: /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices ...
- 《图解TCP/IP》读书笔记(转)
reference: https://www.cnblogs.com/edisonchou/p/5987827.html 一.国际惯例:书托 这是一本图文并茂的网络管理技术书籍,旨在让广大读者理解TC ...