精华内容
下载资源
问答
  • 从web解析到网络空间 Requests:最友好的网络爬虫功能库 ...—Python最主要的页面级网络爬虫功能库 ...—支持批量和定时网页爬取、提供数据处理流程等 —Python最主要且最专业的网络爬虫框架 pyspide...

    从web解析到网络空间

    Requests:最友好的网络爬虫功能库
    —提供了简单易用的类HTTP协议网络爬虫功能
    —支持连接池、SSL、Cookies、HTTP(S)代理等
    —Python最主要的页面级网络爬虫功能库

    Scrapy:优秀的网络爬虫库
    —提供了构建网络爬虫系统的框架功能,功能半成品
    —支持批量和定时网页爬取、提供数据处理流程等
    —Python最主要且最专业的网络爬虫框架

    pyspider:强大的web页面爬取系统
    —提供了完整的网页爬取系统构建功能
    —支持数据库后端、消息队列、优先级、分布式架构等
    —Python重要的网络爬虫第三方库
    python库之web信息提取
    Beautiful Soup:HTML和XML的解析库
    —提供了解析HTML和XML等Web信息的功能
    —又名beautifulsoup4或bs4,可以加载多种解析引擎
    —常与网络爬虫库搭配使用,如Scrapy、requests等

    Re:正则表达式解析和处理功能库
    —提供了定义和解析正则表达式的一批通用功能
    —可用于各类场景,包括定点的Web信息提取
    —Python最主要的标准库之一,无需安装

    Python-Goose:提取文章类型Web页面的功能库
    —提供了对Web页面中文章信息/视频等元素数据的提取功能
    —针对特定类型Web页面,应用覆盖面较广
    —Python最主要的Web信息提取库

    Python库之Web网站开发
    Django:最流行的Web应用框架
    —提供了构建Web系统的基本应用框架
    —MTV模式:模式(model)、模板(Template)、视图(Views)
    —Python最重要的Web应用框架,略微复杂的应用框架
    在这里插入图片描述
    Pyramid:规模适中的Web应用框架
    —提供了简单方便构建Web系统的应用框架
    —不大不小,规模适中,适合快速构建并适度扩展类应用
    —Python产品级Web应用框架,起步简单可扩展性好

    Flask:Web应用开发微框架
    —提供了最简单构建Web系统的应用框架
    —特点是:简单、规模小、快速
    —Django>Pyramid>Flask好

    Python库之网络应用开发
    WeRoBot:微信公众号开发框架
    —提供了解析微信服务器消息及反馈信息的功能
    —建立微信机器人的重要技术手段

    aip:百度AI开放平台接口
    —提供了访问百度AI服务的Python功能接口
    —语音、人脸、OCR、NLP 、知识图谱、图像搜索等领域
    —Python百度AI应用的最主要方式

    MyQR:二维码生成第三方库
    —提供了生成二维码的系列功能
    —基本二维码、艺术二维码和动态二维码

    从人机交互到艺术设计

    Python库之图形用户界面
    PyQt5:Qt开发框架的Python API接口
    —提供了创建Qt5程序的Python API接口
    —Qt是非常成熟的跨平台桌面应用开发系统,完备GUI
    —推荐的Python GUI开发第三方库

    wxPython:跨平台GUI开发框架
    —提供了专用于Python的跨平台GUI开发框架
    —理解数据类型与索引的关系,操作索引即操作数据
    —Python最主要的数据分析功能库,基于Numpy开发

    PyGObject:使用GTK+开发GUI的功能库
    —提供整合GTK+、WebKitGTK+等库的功能
    —GTK+:跨平台的一种用户图形界面GUI框架
    —实例:Anaconda采用该库构建GUI

    Python库之游戏开发
    PyGame:简单的游戏开发功能库
    —提供了基于SDL的简单游戏开发功能及实现引擎
    —理解游戏对外部输入的响应机制及角色构建和交互机制
    —Python游戏入门最主要的第三方库

    Panda3D:开源、跨平台的3D渲染和游戏开发库
    —一个3D游戏引擎,提供Python和C++两种接口
    —支持很多先进特性:法线贴图、光泽贴图、卡通渲染
    —由迪士尼和卡尼基梅隆大学共同开发

    cocos2d:构建2D游戏和图形界面交互式应用的框架
    —提供了基于OpenGL的游戏开发图形渲染功能
    —支持GPU加速,采用树形结构分层管理游戏对象类型
    —适用于2D专业级游戏开发

    Python库之虚拟现实
    VR Zero:在树莓派上开发VR应用的Python库
    —提供大量与VR开发相关的功能
    —针对树莓派的VR开发库,支持设备小型化,配置简单化
    —非常适合初学者实践VR开发及应用
    在这里插入图片描述Pyover:Oculus Rift的Python开发接口
    —针对Oculus VR设备的Python开发库
    —基于成熟的VR设备,提供全套文档,工业级应用设备
    —Python+虚拟实现领域探索的一种思路

    Vizard:基于Python的通用VR开发引擎
    —专业的企业级虚拟现实开发引擎
    —提供详细的官方文档
    —支持多种主流的VR硬件设备,具有一定通用性

    Python库之图形艺术
    Quads:迭代的艺术
    —对图片进行四分迭代,形成像素分
    —可以生成动图或静图图像
    —简单易用,具有很高展示度

    ascii_art:ASCII艺术库
    —将普通图片转为ASCII艺术风格
    —输出可以是纯文本或彩色文本
    —可采用图片格式输出

    turtle:海龟绘图体系
    Random Art:利用turtle加上一些随机函数绘制出一定的艺术风格

    玫瑰花绘制实例

    —绘制机理:turtle基本图形绘制
    —绘制思想:因人而异
    —思想有多大、世界就有多大
    代码:
    #RoseDraw.py
    import turtle as t
    #定义一个曲线绘制函数
    def DegreeCurve(n, r, d=1):
    for i in range(n):
    t.left(d)
    t.circle(r, abs(d))
    #初始位置设定
    s = 0.2 # size
    t.setup(4505s, 7505s)
    t.pencolor(“black”)
    t.fillcolor(“red”)
    t.speed(100)
    t.penup()
    t.goto(0, 900s)
    t.pendown()
    #绘制花朵形状
    t.begin_fill()
    t.circle(200
    s,30)
    DegreeCurve(60, 50s)
    t.circle(200
    s,30)
    DegreeCurve(4, 100s)
    t.circle(200
    s,50)
    DegreeCurve(50, 50s)
    t.circle(350
    s,65)
    DegreeCurve(40, 70s)
    t.circle(150
    s,50)
    DegreeCurve(20, 50s, -1)
    t.circle(400
    s,60)
    DegreeCurve(18, 50s)
    t.fd(250
    s)
    t.right(150)
    t.circle(-500s,12)
    t.left(140)
    t.circle(550
    s,110)
    t.left(27)
    t.circle(650s,100)
    t.left(130)
    t.circle(-300
    s,20)
    t.right(123)
    t.circle(220*s,57)
    t.end_fill()
    #绘制花枝形状

    t.left(120)
    t.fd(280*s)
    t.left(115)
    t.circle(300*s,33)
    t.left(180)
    t.circle(-300*s,33)
    DegreeCurve(70, 225*s, -1)
    t.circle(350*s,104)
    t.left(90)
    t.circle(200*s,105)
    t.circle(-500*s,63)
    t.penup()
    t.goto(170*s,-30*s)
    t.pendown()
    t.left(160)
    DegreeCurve(20, 2500*s)
    DegreeCurve(220, 250*s, -1)
    #绘制一个绿色叶子
    t.fillcolor('green')
    t.penup()
    t.goto(670*s,-180*s)
    t.pendown()
    t.right(140)
    t.begin_fill()
    t.circle(300*s,120)
    t.left(60)
    t.circle(300*s,120)
    t.end_fill()
    t.penup()
    t.goto(180*s,-550*s)
    t.pendown()
    t.right(85)
    t.circle(600*s,40)
    #绘制另一个绿色叶子
    t.penup()
    t.goto(-150*s,-1000*s)
    t.pendown()
    t.begin_fill()
    t.rt(120)
    t.circle(300*s,115)
    t.left(75)
    t.circle(300*s,100)
    t.end_fill()
    t.penup()
    t.goto(430*s,-1070*s)
    t.pendown()
    t.right(30)
    t.circle(-600*s,35)
    t.done()
    

    结果:
    在这里插入图片描述

    Python语言程序设计课程就到这里了,在课程的结尾老师说了几句话:
    编程不重要,思想才重要!
    —认识自己:明确自己的目标,有自己的思想
    —方式方法:编程只是手段,熟练之,未雨绸缪为思想服务
    —为谁编程:将自身发展与祖国发展相结合,创造真正价值
    在这里插入图片描述希望我们都能在编程这条路上找到自己的快乐,实现自己的梦想,加油!

    展开全文
  • Web应用如此广泛,其中客户端与服务端交互时所消耗的资源及响应时间,频繁的刷新页面使得人机交互体验极为不好,而对每个页面使用客户端处理技术无疑又加大项目开发周期,脚本调试及修改维护的工作量将占用大量的...
  • 可是一大堆的概念和术语往往让望而生畏,很多朋友问我:XML到底有什么用,我们是否需要学习它?我想就我个人学习过程的心得和经验,写一篇比较全面的介绍文章。首先有两点是需要肯定的:  第一:XML肯定是未来的...
  • js总结

    热门讨论 2017-09-19 11:12:29
    html实现呈现内容,css负责网页中显示的样式,js负责动态效果,完成人机交互。 what? 价值:世界上最流行的脚本语言。 where? 它可以改进设计,验证表达单,检测浏览器,创建cookies,以及更多的应用。 how? ...

    why?

        为什么出现js?

        html实现呈现内容,css负责网页中显示的样式,js负责动态效果,完成人机交互。

    what?

        价值:世界上最流行的脚本语言。

    where?

         它可以改进设计,验证表达单,检测浏览器,创建cookies,以及更多的应用。

    how?

          HTML DOM(Document Object Model)——>访问html文档的元素

          1.改变页面中的所有html元素:

              查找——>通过id;  通过标签;   通过类名

              改变——> 改变输出流:document.write(); 

           改变内容:document.getElementById(“id”).innerHTML=new HTML

           变属性:document.getElementById(“id”).attribute=new value;

          2.改变页面中所有html属性;

          3.改变页面中的所有css样式;

             document.getElementById(id).style.property=new style

          4.对页面中的所有事件做出反应。

             onclick,onload 和 onunload 事件,onchange 事件,onmousedown、onmouseup 以及 onclick 事件

    BOM(Browser Object Model)——>与浏览器对话

      js库:jquery 、Prototype、MooTools.

    总结

    建议大家走一下番茄,看看自己的时间有没有保质保量走完,看看上午一共四个小时的时间,能放到自己应该做的事情有多少。

     

         

     

     

     

     

     

     

     

     

    展开全文
  • javascript速查

    2020-05-16 16:53:20
    1、嵌入HTML中在浏览器中的脚本语言,用于人机交互。网景公司推出,ECMA组织维护JavaScript标准。 2、特点:任何文本编辑工具编写由浏览器内置JavaScript引擎执行,不需要编译从上至下逐行执行,区分大小写 3、用途...
    javaScript:
    1、嵌入HTML中在浏览器中的脚本语言,用于人机交互。网景公司推出,ECMA组织维护JavaScript标准。
    2、特点:任何文本编辑工具编写由浏览器内置JavaScript引擎执行,不需要编译从上至下逐行执行,区分大小写
    3、用途:客户端数据计算、客户端表单合法性验证、浏览器事件的触发、网页特殊效果显示、服务器异步数据提交等等
    4、如何使用:
    	事件:就是js触发的时机
    		单击事件:onclick
    		双击事件:ondblclick
    		失去焦点事件 onblur
    	1》在事件定义时直接写js代码
    		<input type="button" value="确定" onclick="alert('hello world!');"/>
    	2》嵌入式,在<script></script>标签中写js代码,直接放到HTML页面中
    		<script type="text/javascript">
    			js代码
    			function f(){
    				方法体
    			}
    		</script>
    		</head>
    		<input type="button" value="确定" onclick="f();"/>
    	3》文件调用式:在head中声明调用,在HTML文件外部写.js文件。.js文件不需要script标签直接写js代码
    		<script src=".js文件路径" type="text/javascript"></script>
    5、调试js代码:浏览器控制台错误信息、打桩、二分法+排除法
    6、基础语法:
    	1》由Unicode字符集编写的,
    		注释://		/* */
    		区分大小写,
    		使用分号或换行结束,一行有多条语句不能省略分号
    	2》标示符和变量:
    		标示符:由数字、字母、下划线、$组成,开头不能是数字,不能是关键字保留字
    		变量:使用var声明,js变量无数据类型.赋给变量的数据有类型,没有什么类型就是underfined
    	3》数据类型(变量引用的数据的类型):
    		特殊类型:null(空)、underfined(未定义)
    		内置对象:Number 数字、String 字符串、Boolean 布尔型、Function 函数、Array 数组;
    		外部对象:window浏览器的对象(一套)、document文档对象(一套)
    		自定义对象:Object 自定义对象
    			1》String:js不区分单双引号,特殊字符需要转义(\n、\\)
    			2》Number:js中不区分整数与小数,5/2=2.5,都采用64位浮点存储
    			3》Boolean:true/false,参与运算时true=1,false=0;
    		数据类型转换:
    		隐式转换:变量无类型数据有类型,数据计算会默认转换
    			字符串>数字    true+true=2    "hello"+true="hellotrue"
    		数据类型转换函数:
    			12.toString();转换成字符串
    			parseInt(6.85/"6.85");6,将参数转换成整数并取整,不能转换返回NaN表示不是数字类型
    			parseFloat("6.15"/6.15);6.15,将参数转换成小数,不能转换返回NaN
    			typeOf("12");String 参看参数数据类型,返回参数的数据类型
    			isNaN(a);a是数字返回false,不是数字返回true
    	4》运算符:
    		+ - * / % ++ --   5/2=2.5
    		> >= < <= == !=  
    		===  全等  类型数值群相等	==值相等类型无所谓  "5"==5;//true
    		!==	 不全等  不是类型和值都相等	"5"!==5;//true
    		&& || !
    		表达式?表达式1:表达式2;
    	5》流程控制:
    		顺序:
    		分支:if() if(){}else if(){}...else{};if(){}else{}
    			swicth(){
    				case 值1: 
    						语句1;  
    						break;
    				case 值2:语句2;break;
    				....
    			} 
    		循环;for(var ; ;){}
    			while(){}
    			do{}while();
    	***JavaScript的条件表达式:条件表达式返回的一定是Boolean类型
    		js中认为一切非空的都可认为是true,空的是false
    		if(12){
    			12非空为true进来执行
    		}
    		0  null "" underfined  NaN  false ------false
    		true 非空值	----true
    7、JavaScript对象:
    	JavaScript中可认为一切是对象,内置对象、外部对象、自定义对象,对象有属性和方法
    	对象的属性:对象.属性	对象的方法:对象.方法()
    	1》内置对象:
    		String对象:
    			1、创建对象: var str = "hello";
    					  var str = new String("hello");
    			2、属性:str。length  str的长度
    			3、方法:
    				x.toLowerCase();x.UpperCase();大小写转换
    				x.charAt(index);获取指定下标的字符
    				x.charCodeAt(index);获取指定下标的字符Unicode编码
    				x.indexOf(str,n);返回str在x中出现位置的下标,从第n个位置开始找,没有返回-1
    				x.lastIndexOf(str,n);
    				x.subString(start,end);从start开始到end结束截取x字符串,含头不含未
    				x.replace(str1,str2);将x中的str1替换为str2
    				x.split(str,n);将x用str分割返回分割后的数组,数组大小n,可以没有
    		Number对象:		
    			1、创建对象:var num = 12;
    				5/2=2.5
    			2、常用方法:
    				i.toFixed(n);将i转换为字符串,并保留n位小数,没有补0
    		Array对象:
    			1、创建对象:var arr = new Array();-----arr[i].push("hello");
    					  var arr = [1,"abc",true];
    					  var arr = new Array(7);						
    					 var arr = new Array(1,"abc",true);	
    					 var arr = [[],[],[]];
    			2、arr.length;获取数组的长度
    				arr[i]
    			3、方法:
    				arr.reverse();将数组倒转
    				x.sort();将数组排序,默认按Unicode编码排
    				x.sort(function(){自定义排序规则}),自定义排序
    		Math对象:
    			1、创建对象:直接使用Math.PI Math.E 
    			2、方法:参考java、floor、round、ceil、abs...
    		Date对象:
    			1、创建对象:var date =new Date();//系统时间
    					 var date= new Date("yyyy/MM/DD hh:mm:ss");
    			2、方法:
    				读写时间毫秒数:getTime(),setTime(毫秒);
    				读写时间分量:getDate(),getDay(),getFullYear()
    							set 
    				转换为字符串:toString(),toLocaleDateString(),toLocaleTimeString()
    		RegEmp对象:正则表达式
    			1、创建对象:var reg = /表达式/i or g;i忽略大小写,g全局匹配
    					 var reg = new RegEmp(/表达式/i or g);
    			2、方法:
    				reg.test(str);str中含有reg返回true,否则false---****
    				reg.exec(str);非全局模式下,找出首次匹配的部分
    							  全局模式下,第n次调用则找出第n次匹配的部分,动态的
    		String与RegEmp
    			//2.1、str.replace(替换前子字符串,替换后子字符串);替换子字符串,返回替换后的字符串 
    			console.log(str.replace(reg,"bu"));
    			//2.2、str.match(reg);从str中找出和reg匹配的子串
    			console.log(str.match(reg));
    			//2.3、str.search(reg);从str中找出和reg首次匹配的索引
    	   Function对象:函数对象
    		   	js函数:
    		 	1、都是公有的	
    		 	2、可以有返回值但不用声明返回值类型
    		 	3、括号里可以写参数,但不用声明类型
    		  1、默认返回值underfined,通过改变return返回值
    		  2、js没有重载, arguments对象:函数的默认参数对象,是一个数组对象,任何函数都是从arguments中获取值
    		  		可以传参数儿不写形参,默认在arguments中,为方便可以声明参数接收该值
    		  		this关键字表示当前对象(正在点击的按钮对象input...),参数不能用关键字命名		  		
    		  		参数1 = arguments[0]
    		  		参数2 = arguments[1]
    		  		.....
    		  		没有未定义就不
    		 位于函数内的js,页面加载时不会直接调用,,浏览器仅仅定义了这个函数而已,待用户通过点击按钮等行为触发 
    		事件时才调用函数。位于函数外的js,页面加载时直接调用他们,,即这些js的执行时机是早于body中的元素的 
    		 3、创建函数:直接创建:定义事件时创建
    		 			var functionname = new Function(a1,a2,...an,"函数体");
    		 		 匿名函数:function(){}
    		 		   全局函数:可用于所有的JavaScript对象
    		 		     parseInt()/parsefloat(),isNaN(),
    		 		     eval("1+21");计算表达式字符串
    			 		    var result = eval("2+6");
    						//计算成功将结果写入文本框
    						input.value = result;
    外部对象:BOM(DOM+其他)
    	window对象:
    		浏览器窗口,常用方法是可以省略window
    		对话框:
    			弹出框:alert("");
    			确认框  var a = confirm("你吃了吗?");//确定返回true 取消或点叉返回false
    			输入框 var b = prompt("你吃的什么?");返回输入的内容
    onsubmit();表单提交事件,点击表单内的submit按钮触发,在改时间内返回true提交成功,返回false则不提交
    	*定时器:广告轮播,网页动态时钟,倒计时,
    		周期定时器:每隔一段时间执行一次,
    			var id = setInterval(function(){},time);启动定时器,返回的是唯一id
    			clearInterval(id);停止定时器		
    		一次定时器:隔一段时间执行一次后不再执行
    			var id = setTimeout(function(){},time)
    			clearTimeout(id);
    	1》location对象:
    			location.href="http://www.tmooc.cn";修改当前地址,获取当前浏览页面地址
    			location.reload();刷新页面
    	2》history对象:		
    			history.back();后退一步
    			history.forward();前进一步
    			history.go(数字);+前进多少步,-后退多少步
    			history.length;浏览历史条数
    	3》screen对象:获取屏幕信息(色彩和分辨率)
    			screen.width/height 屏幕宽高
    			screen.availWidth/availHeight  用户可用宽高
    	4》navigater对象:
    			navigator.userAgent;获取浏览器信息	
    			
    	5》document对象(DOM):
    		通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素。
    								nodeName	nodeType
    		文档节点:document、                  #document	9
    		元素节点:标签、属性节点:属性、	标签名/属性名	1、2
    		注释节点:注释、文本节点:内容、		/#text	8、3
    		
    		DOM操作
    		1、读写节点
    			document.getElementById()、
    			nodeName/nodeType、名称、内容
    			innerHTML	innerText 读写内容 含标签  不含标签
    			表单form取值用value,文本元素取值用innerHTML 
    					   赋值    .value= ""         .innerHTML = "";
    				select下拉选取值   select.value 或得到option去取值
    			读写属性
    			getAttribute("src");获取属性
    			img.setAttribute("src", "../images/02.jpg");修改属性
    			img.removeAttribute("src");删除属性
    			以上任何浏览器通用,
    			低版本浏览器不支持,节点.属性名(class例外,要写成className )、id、事件、class是标准的
    				var a = document.getElementById("a1");
    				console.log(a.href);//获取
    				a.href="#";//修改,没有删除操作 
    			标签.style.color="red";
    			标签.style.fontSize="20";
    			标签.className="样式名称"
    			onmouseover:鼠标悬停事件
    			onmouseout:鼠标离开事件
    			
    		2、查询节点
    			通过id查询:
    			通过层次查询
    			通过标签名查询
    			通过name属性查询
    			根据class查询(不标准)
    			<script type="text/javascript">
    					//1、根据id查询
    					var ul = document.getElementById("city");
    					console.log(ul.nodeName);
    					//2、根据标签名查询,得到的是数组
    						//2.1、在整个页面上上,根据标签名查询节点 
    						var lis = document.getElementsByTagName("li");
    						console.log(lis);
    						//2.2、在某节点下根据标签名查询其子节点
    						lis = ul.getElementsByTagName("li");
    						console.log(lis);
    					//3、根据name查询
    					var input = document.getElementsByName("sea");
    					console.log(input);
    					//4、根据class查询(不标准)
    					lis = document.getElementsByClassName("south");
    					console.log(lis);
    					//5、根据层次关系查询,结果数组 
    						//5.1、查询父亲(标准)
    							console.log(ul.parentNode);//得到ul的父节点
    						//5.2、查询孩子(标准)
    							console.log(ul.childNodes);//得到ul的所有子节点,包含空格
    							lis = ul.getElementsByTagName("li");//不包含空格
    							console.log(lis);
    						//5.3、查询孩子(非标准)
    							console.log(ul.children);
    						//5.4、查询兄弟(标准)、先查父节点,再找出父节点的子节点
    							 var gz = document.getElementById("gz");
    							 var sh = gz.parentNode.getElementsByTagName("li")[1];
    							 console.log(sh);
    						//5.5、查询兄弟(非标准)
    							console.log(gz.previousElementSibling);//gz的上一个哥哥
    							console.log(gz.nextElementSibling);//gz的后一个弟弟 
    			</script>
    		3、增删节点
    		//增加节点 
    			//1、创建节点	<li>
    			var li1 = document.createElement("li");
    			li1.innerHTML = "佳木斯";
    			var li2 = document.createElement("li");
    			li2.innerHTML = "廊坊";
    			//2、添加节点
    				//2.1、追加(追加到所有子节点之后)
    				var ul = document.getElementById("city");
    				ul.appendChild(li1);
    				//2.2、插入(插入到某子节点之前)
    				var gz = document.getElementById("gz");
    				ul.insertBefore(li2, gz);//插入ul下的gz节点之前	
    		//删除节点
    			//1、父亲删除孩子
    			var ul = document.getElementById("city");
    			var sz = document.getElementById("sz");
    			ul.removeChild(sz);
    			//2、自己删除自己
    			//sz.parentNode.removeChild(sz);
    			var tj = document.getElementById("tj");
    			tj.remove();
    
    自定义对象:
    	是一种特殊的数据,由属性和方法封装而成。对象名.属性     对象名.方法()
    	无论采用那种方式创建出的对象都是一样的,都是object
    	1、创建对象:
    		1》直接量(JSON):直观,简单
    			例:var obj = {属性名:属性值,属性名:属性值,...} 
    				属性名:字符串,属性值:一切皆对象,可以是任何类型
    				自己的方法封装数据时,自己知道数据时。
    				创建的是object对象
    				//1、采用直接量的方式创建对象
    				function f1(){
    					var stu = {"name":"zs","age":25,"work":function(){alert("我学java");}};
    					alert(stu.name);
    					alert(stu.age);
    					stu.work();
    				}
    		2》构造器:
    		     1》js内置构造器:简单灵活,创建的也是object对象
    		         Date()/RegEmp()/String()/Object()
    		     	需要new的function才是构造器 
    		     	自己的方法封装数据,数据未知,以后知道
    		     	//2.1、采用内置构造器
    		     	function f2(){
    					var tch = new Object();
    					tch.name = "苍老师";
    					tch.age = 20;
    					tch.work = function(){
    						alert("我教java");
    					}
    					alert(tch.name);
    					alert(tch.age);
    					tch.work();
    				}
    		     2》自定义构造器;	麻烦,直观,适合 封装的对象返回给他人使用
    		     	自己声明一个函数,将函数作为构造器使用
    		     	//2.2、采用自定义构造器创建对象
    				function f3(){
    					var c = new Coder("lisi",26,function(){alert("我写java");});	
    					alert(c.name);
    					alert(c.age);
    					c.work();
    				}
    				function Coder(name,age,work){//自定义构造器
    					//this = 创建出来的对象
    					//t
    					his.name 是给该对象声明一个属性
    					this.name = name ;
    					this.age = age ;
    					this.work = work;
    				}
    		     3》create方法:最新版本提出的方法,很对浏览器没有支持
    事件:
    	1、页面元素发生改变,用户操作鼠标或键盘触发的动作就是事件,通过事件属性可以在某个事件发生时进行相关操作
    	 	鼠标事件:
    	 		onclick(单击)、ondblclick(双击)、
    	 		onmousedown(鼠标按下)、onmouseup(鼠标弹起)、
    	 		onmouseover(鼠标悬停)、onmouseout(鼠标离开)
    		键盘事件:
    			onkeydown(键盘按下),onkeyup (键盘弹起)
    		状态改变事件:
    			onload(页面加载事件) onchange(值改变事件)
    			onfocus(元素获得焦点) onblur(元素失去焦点)
    			onsubmit (按钮提交事件)
    	2、事件定义:
    		1》直接定义事件 
    			<input type="button" value="AAA" onclick="alert('AAA')"/>	
    		2》后绑定事件,在页面加载后绑定
    			<script type="text/javascript">	
    			var b = document.getElementById("b");
    				b.onclick = function(){
    				alert("BBB");
    			}	
    			</script>
    		3》后绑定事件(在onload中绑定)
    		  onload是页面加载事件,在页面加载完成后自动触发,window.onload整个页面加载完成调用
    			<script type="text/javascript">
    			window.onload = function(){
    				//在这里写的代码,相当于在body后写的一样,都是页面加载完成后调用
    				var c = document.getElementById("c");
    				c.onclick = function(){
    					alert("CCC");
    				}
    			}
    			</script>
    		取消事件:
    			onclick = "return false;";
    事件对象event;
    	任何事件触发后会产生一个事件对象event,用于记录事件触发时的鼠标、键盘和触发对象等信息		
    	1、如何获取事件event对象:
    		1》	直接定义事件,获取事件对像必须传event
    			<input type="button" value="DDD" onclick="d(event);"/>
    			function d(e){
    				console.log(e);
    				console.log(arguments[0]);
    				alert(e.clientX+","+e.clientY);//通过event属性获取点击位置
    			}
    		2》//后绑定事件时,浏览器会将事件对象envet自动传进来存到arguments第0个位置可以直接使用,
    		一般声明参数接收		
    		<input type="button" value="EEE" id="e"/>
    		var ee = document.getElementById("e");
    		ee.onclick = function(e){
    			console.log(arguments[0]);
    			console.log(e);
    		}	
    	2、事件源:触发事件的元素,
    			var obj = e.srcElement||e.targer;IE浏览器和firefox浏览器
    			事件源也是元素对象
    			考虑浏览器兼容性实际使用
    		function p(e){
    			var obj = e.srcElement||e.targer;
    			console.log(obj);		
    		}		
    		
    js事件处理机制:
    	也叫冒泡机制:是指js的事件是由内向外传播的即触发的,传的body停止		
    	可以简化事件的定义,不需要在子元素上定义n次,只需在父元素上定义一次事件	
    	在采用冒泡机制简化事件时,必须知道事件源。事件源:事件发生的源头(具体位置),事件源可以通过事件对象event获取	
    		function p(e){
    			var obj = e.srcElement||e.targer;//获得事件源
    			console.log(obj);
    		}		
    			
    		//取消事件传播,两种浏览器两种方法,方法也可以认为是对象的属性,判断的话:对象名.方法名 调用:对象名.方法名()
    		
    		//e.stopPropagation();
    		//e.cancelBubbule = true;
    		if(e.stopPropagation){
    			e.stopPropagation();
    		}else{
    			e.cancelBubbule = true;
    		}
    		
    

     

    展开全文
  •  全书共分11章,主要以范例集的方式来讲述Android的知识点,详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及...
  •  全书共分11章,主要以范例集的方式来讲述android的知识点,详细介绍了开发android的人机交互界面、android常用的开发控件、android手机收发短信等通信服务、开发android手机的自动服务功能和娱乐多媒体功能以及...
  • 全书共分11章,主要以范例集的方式来讲述Android的知识点,详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合...
  • 全书共分11章,主要以范例集的方式来讲述Android的知识点,详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合...
  • 全书共分11章,主要以范例集的方式来讲述Android的知识点,详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合...
  • 全书共分11章,主要以范例集的方式来讲述Android的知识点,详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合...
  • 全书共分11章,主要以范例集的方式来讲述Android的知识点,详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合...
  • 第3章 用户人机界面   3.1 更改与显示文字标签   3.2 更改手机窗口画面底色   3.3 更改TextView文字颜色   3.4 置换TextView文字   3.5 取得手机屏幕大小   3.6 样式化的定型对象   3.7...
  • 3.新型网络智能机器人交互系统 4. 人脸识别相关核心技术研究及系统实现 5. Web Service实现天气预报模块 6. 手机游戏 7. 办公自动化管理系统 8. 超市信息管理系统 9. 家电进销存管理系统 10. 新一代在线考试测评...
  • Elpass-crx插件

    2021-04-03 16:26:13
    语言:English (United States...为了方便起见,Elpass可以自动填充macOS上的网页和本应用程序的登录名。 您无需打开密码管理器并手动复制密码。 Elpass可在Mac,iPhone和iPad上使用。 所有数据都可以平稳安全地同步。
  • 语言:English ... ...它具有良好的界面,始终保持您的安全性。...关于方便,ELPASS可以自动填充用于网页的登录和摩托斯的本应用程序。您永远不需要打开密码管理器并手动复制密码。此版本适用于Windows和Linux。
  •  全书共分10章,主要以范例集的方式来讲述android的知识点,详细介绍了开发android的人机交互界面、android常用的开发控件、使用android手机收发短信等通信服务、开发android手机的自动服务功能和娱乐多媒体功能...
  • 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 3.2 更改手机窗口画面底色——drawable定义颜色常数的方法 3.3 更改TextView文字颜色——引用Drawable颜色常数及背景色 3.4 置换TextView文字——...
  • ) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 3.2 更改手机窗口画面底色——drawable定义...
  • Unakite-crx插件

    2021-03-10 03:00:12
    它是由卡内基梅隆大学人机交互研究所的一组研究人员开发和维护的。 它是正在进行的研究工作的一部分,旨在使编程变得更容易。 隐私政策:该扩展程序将使用您的个人Google帐户登录/注销功能。 仅记录通过身份验证的...
  • 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 3.2 更改手机窗口画面底色——drawable定义颜色常数的方法 3.3 更改TextView文字颜色——引用Drawable颜色常数及背景色 3.4 置换TextView文字...
  • 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 3.2 更改手机窗口画面底色——drawable定义颜色常数的方法 3.3 更改TextView文字颜色——引用Drawable颜色常数及背景色 3.4 置换TextView文字...
  • 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 3.2 更改手机窗口画面底色——drawable定义颜色常数的方法 3.3 更改TextView文字颜色——引用Drawable颜色常数及背景色 3.4 置换TextView文字——...
  • 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 3.2 更改手机窗口画面底色——drawable定义颜色常数的方法 3.3 更改TextView文字颜色——引用Drawable颜色常数及背景色 3.4 置换TextView文字——...
  • 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 3.2 更改手机窗口画面底色——drawable定义颜色常数的方法 3.3 更改TextView文字颜色——引用Drawable颜色常数及背景色 3.4 置换TextView文字——...
  • 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 3.2 更改手机窗口画面底色——drawable定义颜色常数的方法 3.3 更改TextView文字颜色——引用Drawable颜色常数及背景色 3.4 置换TextView文字——...
  • 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 3.2 更改手机窗口画面底色——drawable定义颜色常数的方法 3.3 更改TextView文字颜色——引用Drawable颜色常数及背景色 3.4 置换TextView文字——...
  • 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 3.2 更改手机窗口画面底色——drawable定义颜色常数的方法 3.3 更改TextView文字颜色——引用Drawable颜色常数及背景色 3.4 置换TextView文字——...
  • 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 3.2 更改手机窗口画面底色——drawable定义颜色常数的方法 3.3 更改TextView文字颜色——引用Drawable颜色常数及背景色 3.4 置换TextView文字——...

空空如也

空空如也

1 2 3 4
收藏数 62
精华内容 24
关键字:

网页人机交互验证