html简单的知识
分布式版本控制git | |
pwd查询当前目录 ls ls -la | |
git config --global user.name xxx | |
git config --global user.email xxx | |
git config user.name | |
git config user.email | |
mkdir xxx文件夹 touch xxx.html | |
vim xxx.txt 打开文件夹 i 进入编辑模式 ESC 退出编辑模式 | |
在插入编辑模式下编辑文件。 | |
按下 “ESC” 键,退出编辑模式,切换到命令模式。 | |
在命令模式下键入"ZZ"或者":wq"保存修改并且退出 vi 。 | |
如果只想保存文件,则键入":w",回车后底行会提示写入操作结果,并保持停留在命令模式。 | |
放弃所有文件修改:按下 "ESC" 键进入命令模式,键入 ":q!" 回车后放弃修改并退出vi。 | |
放弃所有文件修改,但不退出 vi ,即回退到文件打开后最后一次保存操作的状态,继续进行文件操作:按下 "ESC" 键进入命令模式,键入 ":e!" ,回车后回到命令模式。 | |
git merge dev该命令把指定分支合并到当前分支,执行该操作前经常会切换到master分支,意思是把当前的分支的提交合并到master分支上 | |
git branch dev创建分支 | |
git branch查看分支 | |
git checkout dev切换分支 | |
git branch -d dev删除分支 | |
git checkout -b dev origin/dev抓取分支 | |
抓取失败时 | |
git branch --set-upstream-to=origin/dev dev | |
git branch --set-upstream dev origin/dev | |
git push origin dev推送分支 | |
cd xxx | |
git init | |
git status如果查看时中文显示乱码,可以添加如下配置git config --global core.quotepath false | |
git add ./xxx | |
git commit -m'做了什么' | |
git rm xxx git commit -m'删除了什么' | |
git mv xx1 xx2 git commit -m'改了什么' | |
git checkout -- xxx 撤销工作区修改 git reset HEAD xxx 撤销暂存区修改 | |
git reset --hard xxxid | |
git log 查看现有版本 git reflog 查看历史所有版本 | |
git remote -v 查看当前绑定hub网址 | |
git remote rm origin 删除绑定hub网址 | |
git remote add origin https://github.com/luoshida/1234.git 电脑上的东西绑定到hub上 | |
git push -u origin master 推送 可合并为 git push -u httpxxx master | |
git clone httpxxx hub上的东西复制到电脑上 | |
ssh-keygen -t rsa -C '791371894@qq.com' 生成公钥和密钥 | |
cd .ssh 进入隐藏文件夹.ssh 公钥id_rsa.pub 密钥id_rsa | |
cat id_rsa.pub 查看公钥 | |
ssh -T git@github.com 验证密钥是否绑定成功 | |
html | |
万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改 | |
html4三种文档类型:Strict, Transitional, 以及Frameset. 中译为:严格版本,过渡版本,以及基于框架的版本! | |
html5文档类型<!doctype html> DTD文档声明 | |
html标签 | |
<h1>指定标题</h1> h1-h6 | |
<p>指定段落</p> | |
<hr>画一条水平分割线 | |
<br>内容换行 | |
<b>加粗文字</b> = <strong>定义重要性强调的文字</strong> | |
<u>给字体标下划线</u> = <ins>定义插入的文字</ins> | |
<i>字体变斜</i> = <em>定义强调的文字</em> | |
<s>字体上加删除线</s> = <del>定义被删除的文字</del> | |
<sub>定义下标文本</sub> | |
<sup>定义上标文本</sup> | |
<ul><li>无序列表,用于导航栏商品列表等</li></ul> | |
ul与li配套使用 ol li为有序列表与无序列表差不多 多用于排行榜 | |
<dl><dt>条目</dt><dd>条目的描述</dd></dl> 给内容添加定义列表语义用于网站底部相关信息 | |
<table>表格标签 | |
<caption>给整个表格设置标题</caption> | |
<tr> | |
<td>1行1列</td> <thead><th>添加头命令(加粗居中)</th><td>正常</td></thead> | |
<td>1行2列</td> <tfoot>添加脚命令</tfoot> | |
</tr> | |
<tr> | |
<td>2行1列</td> | |
<td>2行2列</td> | |
</tr> | |
</table> | |
table bgcolor="yellow"背景色 width="200px"宽度 height="200px"高度 | |
表内参数 align="left/center/right" valign="top/center/bottom" table中为表格朝向,在tr或td为文字朝向 | |
border="1/2/3"边框粗细 cellspacing单元格之间的距离外边框 cellpadding文字与边框的距离内边框 | |
rowspan/colspan="2"垂直或水平合并2单元格 被合并的单元格程序命令删除 | |
<form>表单标签 | |
<head> | |
<title>123</title> | |
<style>textarea{resize: none;}</style> | |
<!-- 使最下面的简介输入框固定大小 --> | |
</head> | |
<body> | |
<form action="https://www.baidu.com"> | |
<fieldset> | |
<!-- fieldset命令为在form表单加大边框 --> | |
<legend>在大边框上加自己想要的字</legend> | |
<p> | |
姓名: | |
<input type="text" name="name" value="默认在输入框内容" list="123" placeholder="请设置用户名" autocomplete="off"> | |
placeholder属性提供可描述输入字段预期值的提示信息(hint)该提示会在输入字段为空时显示,并会在字段获得焦点时消失。 | |
autocomplete清除input框内输入历史下拉框 | |
<datalist id="123"> | |
<!-- datalist命令是在输入框内加入备选项 --> | |
<option>ddd</option> | |
<option>aaa</option> | |
<option>bbb</option> | |
<option>ccc</option> | |
</datalist> | |
</p> | |
<p> | |
<label for="Use">密码:</label> | |
<!-- label命令是使鼠标点到内容时也能是光标定位在输入框内 --> | |
<input type="password" name="password" id="Use"> | |
</p> | |
<p> | |
性别(单选项):男<input type="radio" name="sex" value="1"> | |
女<input type="radio" name="sex" value="2"> | |
<!-- (value为上传到服务器的一个代号radio和checkbox同样适用 上传结果为sex=1/2) --> | |
</p> | |
<p> | |
爱好(多选项):走<input type="checkbox" name="bobbit" value="1"> | |
跑<input type="checkbox" name="bobbit" value="2"> | |
跳<input type="checkbox" name="bobbit" value="3"> | |
</p> | |
<P> | |
<input type="reset" name="重置清空表单内容" value="重置"> | |
<!-- value是在按钮上显示的文字 --> | |
</P> | |
<input type="hidden" name="隐藏目录私密上传"> | |
<input type="button" name="万能按钮自己起名" value="显示的文字"> | |
<input type="submit" name="提交"> | |
邮箱<input type="email" name="email" value="默认在输入框内容"> | |
网址<input type="url" name="网址" value="默认在输入框内容"> | |
<input type="number" name="数字输入框"> | |
日期<input type="date" name="日期"> | |
喜欢的颜色<input type="color" name="颜色选择框"> | |
<p> | |
用图片提交<input type="image" src="C:\Users\liyuphp\Desktop\图片\timg (1) - 副本.jpg"> | |
</P> | |
<p> | |
住址<!-- 选择命令,只能选择不能输入 --> | |
<select name="address" multiple 多选标签,可多选> | |
<optgroup label="市区"> | |
<!-- optgroup为分组命令可加可不加 --> | |
<option value="1">郑州</option> | |
<option value="2">周口</option> | |
<option value="3">南阳</option> | |
<!-- value为上传到网站的代号为住址=1 --> | |
</optgroup> | |
<optgroup label="省份"> | |
<option value="4">河南</option> | |
<option value="5">河北</option> | |
<option value="6">安徽</option> | |
</optgroup> | |
</select> | |
简介<!-- 多行编辑 --> | |
<textarea name="intr" id="intr" cols="20" rows="5">这里是表单上默认文字</textarea> | |
获取多行编辑框的内容用 $('#intr').val()获取 | |
</fieldset> | |
</form> | |
</body> | |
图片标签 | |
<img src="网址或路径" alt="图片不显示时显示的东西" | |
title="点击查看源网页" height="200px"> | |
音频视频标签 | |
<video src="https://www.4611.com" loop muted height="100px"></video> | |
<!-- autoplay:是否需要自动播放视频 controls:是否需要显示控制条 | |
poster: 视频没有播放之前显示的占位图片 | |
loop: 一般用于做广告视频,视频播放完毕之后是否需要循环播放 | |
preload:预加载视频,但是需要注意preload和autoplay相冲,如果设置了autoplay属性,那么preload属性就会失效 | |
muted:静音 | |
width/height:和img标签中的一模一样 --> | |
<video> | |
<source src="" type="video/mp4"></source> | |
<source src="" type="video/ogg"></source> | |
<source src="" type="video/webm"></source> | |
</video> | |
<!-- 不管是格式1还是格式2都需要浏览器支持HTML5,如果不支持,需要引入相应的框架,如:[html5media](https://html5media.info/) --> | |
<!--Ogg=带有heora视频编码和Vorbis音频编码的Ogg文件 | |
MPEG4=带有H.264视频编码和AAC音频编码的MPEG4文件 | |
WebM=带有VP8视频编码和Vorbis音频编码的WebM文件--> | |
<audio src=""></audio> | |
HTML5 对于多媒体提供了强有力的支持,除了 audio 和 video 标签外,还支持以下标签: | |
<embed> 标签定义嵌入的内容,比如插件。 | |
<embed type=”video/quicktime” src=”Fishing.mov”> | |
链接标签a标签 | |
<head> | |
<meta charset="utf-8"> | |
<title>链接标签a标签</title> | |
<base href="https://www.123.com"> | |
<!-- base标签为页面上的所有链接规定默认地址或默认打开的方式 | |
base标签必须写在head标签中 base标签没有结束标签 | |
如果既在base中指定了target又在a标签中指定了target,那么浏览器会按照a标签中指定的来执行 | |
如果在base中指定了默认地址,a标签的地址和img标签的地址都会以base标签的地址为相对地址 --> | |
</head> | |
<body> | |
<a href="https://www.baidu.com" target="_blank" title="链接">百度一下你就知道</a> | |
<a href="#">假链接</a> | |
<a href="javascript:">假链接2</a> | |
<p id="123">1.我的猫飞走了<p> | |
<a href="#">返回顶部</a> | |
<a href="#123">返回1</a> | |
<a href="另一个网页的名称#转到某个命令行的id" target="_blank">返回另一个页面某个命令行中的id</a> | |
</body> | |
结构标签 | |
<div>无实际意义,块状结构,独占一行,配合css</div> | |
<span>无实际语义,用于布局</span> | |
<div class="header"> | |
<h1 class="logo"></h1> | |
<div class="nav"></div> | |
</div> | |
<div class="main"> | |
<div class="aside"></div> | |
<div class="article"></div> | |
</div> | |
<div class="footer"></div> | |
header代表页面头部内容<header></header> | |
nav(navigator)页面的导航部分 | |
section代表一个区域,里面可以有其他的标签,如h标签... | |
article页面当中的核心内容文章 | |
aside页面文章的辅助信息,有时也代表页面的侧边栏 | |
footer代表页面底部内容 | |
meter特定范围的数值 max属性,定义最大值。默认值是 1。 | |
min属性,定义最小值。默认值是 0。value属性,当前取值 | |
<meter max="100" min="0" value="68"></meter> | |
progress进度条标签 20% | |
<progress value="20" max="100"></progress> | |
time时间标签pubdate为发布时间datetime规定的时间 | |
<time datetime="21:00" pubdate>12:00</time> | |
字符实体 | |
空格 | |
©版权 | |
<小于 http://www.w3school.com.cn/html/html_entities.asp | |
元信息 | |
<meta charset="utf-8"> | |
<meta name="keyword" content="关键字"> | |
<!-- 告诉搜索引擎当前网页的关键词,能够提高搜索命中率,让别人更容易找到你,搜索引擎会用这些关键字对文档进行分类。 --> | |
<meta http-equiv="Content-Type" content="text/html"> | |
<!-- 服务器发送到浏览器时首先发送text/html请求,告诉浏览器准备接受这样类型的文档,再发送请求的内容 --> | |
<meta name="description" content="对网页的描述信息"> | |
<meta name="author" content="罗世达" /> | |
<meta name="renderer" content="webkit"> | |
<!-- renderer标签,告诉浏览器用webkit内核解析 --> | |
<meta http-equiv="Refresh" content="5;url=https://www.kuazhu.com" /> | |
<!-- 进入该网站后5秒后自动跳转到url指定的网站 --> | |
表单元素 | |
HTML5 新增了很多表单元素让开发者构建更优秀的 Web 应用程序。 | |
datalist,datetime,output,keygen ,date ,month ,week,time,color,number ,range ,email ,url, | |
html属性 | |
全局属性 class id style title contenteditable可编辑属性 | |
局部属性 某个html标签自己所特有的属性 | |
事件属性 触发动作的能力 | |
### cookie | |
* cookie的设置 | |
document.cookie = 'key1=value1'; | |
document.cookie = 'key2=value2'; | |
> 注意,后面的不会覆盖前面的,在ff下测试 | |
* cookie有效期的设置 | |
```javascript | |
var oDate = new Date(); | |
oDate.setDate(oDate.getDate() + 14); | |
document.cookie = "name=Tom;expires="+oDate; | |
``` | |
* 封装cookie相关的函数 | |
```javascript | |
function setCookie(key,value,iDate){ | |
var oDate = new Date(); | |
oDate.setDate(oDate.getDate() + iDate); | |
document.cookie = key+"="+value+";expires="+oDate; | |
} | |
function getCookie(name){ | |
var str = document.cookie; | |
var arr1 = str.split(";"); | |
var result = ""; | |
for(var i=0;i<arr1.length;i++){ | |
var arr2 = arr1[i].split("="); | |
if(arr2[0].trim() == name.trim()){ | |
result = arr2[1]; | |
break; | |
} | |
} | |
return result; | |
} | |
function removeCookie(name){ | |
setCookie(name,false,-1); | |
} | |
``` | |
* cookie的特点: | |
> * cookie是document对象上的一个属性 | |
> * cookie的大小限制是4k | |
> * cookie会存在于请求头中 | |
> * 主域名中的cookie会在子域名中存在 | |
### Storage | |
* localStorage 和 sessionStorage的api相同 | |
> * setItem(key,value) 设置 | |
> * getItem(key) 获取 | |
> * removeItem(key) 删除 | |
> * clear() 清除所有 | |
> * length 内容个数 | |
> * key(num) 获取key的值 | |
* localStorage 和 sessionStorage的存储时效不同 | |
> * localStorage 持久化 | |
> * sessionStorage 网页会话结束失效 | |
* localStorage 和 sessionStorage的存储容量不同 | |
> * localStorage 2-5Mb左右 | |
> * sessionStorage 2-10Mb左右,部分浏览器 没有限制 | |
* 注意点: | |
>* Storage仅能存储字符串 | |
>* Storage的数据不能在不同的域中共享 | |
### 拖拽 | |
* 被拖拽元素添加 draggable=true | |
* 绑定拖拽事件 | |
> 被拖拽元素相关 | |
>> * ondragstart 当元素开始拖动时触发 | |
>> * ondrag 被拖动元素拖动时触发 | |
>> * ondragend 拖拽时松开鼠标时触发 | |
> 容器相关 | |
>> * ondrop 当放置被拖动元素时触发 | |
>> * ondragover 被拖动元素正在到放置到容器时触发,默认无法把元素放置到其他元素中,如果需要设置允许放置,我们必须阻止对元素的默认处理方式。 | |
>> * ondragenter 当被拖动元素进入容器时触发 | |
>> * ondragleave 当被拖动元素离开容器时触发 | |
>> * ondragend 被拖动元素在容器中松开鼠标时触发 | |
>> * ondrag 容器中的被拖动元素拖动时触发 | |
* dataTransfer对象 | |
> * 设置数据 dataTransfer.setData(key,val) | |
> * 获取数据 dataTransfer.getData(key) | |
> * 设置拖动的图标图片: dataTransfer.setDragImage(图片DOM节点,x,y) x,y为鼠标对于图片的相对位置 | |
> 注意:dataTransfer对象存在在原生的event对象上,如果用jQuery的event对象,需要使用jQuery的event对象的originalEvent | |
### 拖拽插件 | |
* jquery.pep.js 官网: http://pep.briangonzalez.org/ | |
### SVG 介绍 | |
SVG(Scalable Vector Graphics)可缩放矢量图形,一种用来描述二维矢量图形的XML语言 | |
### SVG视口(viewport) | |
* SVG视口是指可见区域的大小(画布的大小) | |
```javascript | |
<svg width='800' height='600'></svg> | |
``` | |
> svg默认的宽高是300px*150px | |
### SVG视区盒子(viewBox) | |
viewBox = 'x y width height' | |
//x:水平坐标 y:垂直坐标 width:宽度 height:高度 | |
* viewBox会根据坐标点和宽高来截取视口,把截取后的内容全屏 | |
```javascript | |
<svg width='800' height='600' viewBox='0 0 80 60'> | |
<rect > | |
</svg> | |
``` | |
### 图形 | |
* 直线 | |
<line x1="0" y1="0" x2="300" y2="300" style="stroke:rgb(99,99,99);stroke-width:2"/> | |
* 矩形 | |
<rect x='100' y='100' width='400' height='300' fill="#ff0"> | |
### canvas | |
canvas是一个画布,用来在网页上绘制图像 | |
### canvas基础 | |
* 创建canvas | |
```javascript | |
<canvas></canvas> | |
``` | |
> canvas默认的宽高是300px*150px | |
* 画布的大小 | |
> * 在canvas标签中设置的width和height是指画布大大小,不用带单位 | |
> * 在css中设置的width和height是指画布拉伸缩放后的大小 | |
> * 一般建议在js中设置画布的大小 | |
* 画直线 | |
```javascript | |
cxt.moveTo(0,0);//指定起始坐标 | |
cxt.lineTo(100,100);//直线终点坐标 | |
cxt.lineTo(100,200); | |
cxt.strokeStyle='#f00';//指定描边的样式 | |
cxt.lineWidth = 10;//设置线条的宽度 | |
cxt.closePath();//封闭路径 | |
cxt.stroke(); //描边 | |
cxt.fillStyle = 'rgba(0,255,0,0.5)';//设置填充的颜色 | |
cxt.fill();//闭合路径后填充 | |
``` | |
* cxt.beginPath();重新开始路径,绘制时不会绘制之前的路径 | |
* 圆形 | |
```javascript | |
cxt.arc(圆心x,圆心y,半径,起始角度,终止角度,是否是逆时针(true为逆时针)) | |
``` | |
> 3点钟时0PI 6点钟是0.5PI 9点钟是1PI 12点钟是1.5PI | |
* 矩形 | |
cxt.strokeRect(x,y,宽,高) | |
cxt.fillRect(x,y,宽,高) | |
* 平移坐标原点 | |
cxt.translate(x,y); | |
* 旋转坐标系 | |
cxt.rotate(弧度) 以顺时针为方向旋转 | |
* 缩放变换 | |
cxt.scale(x轴比例,y轴比例); | |
> 所有的变换都是针对坐标系的 | |
> 各种变换之间是相互叠加的 | |
* save和restore环境 | |
cxt.save(); 保存之前的环境 | |
cxt.restore();恢复到上一次保存时的环境 | |
* 线性渐变(LinearGradient) | |
var linearGradient = cxt.createLinearGradient(起始x,起始y,终止x,终止y); | |
linearGradient.addColorStop(百分比,颜色) | |
* 径向渐变(RadialGradient) | |
var radialGradient = createRadialGradient(起始圆心x,起始圆心y,起始圆半径,终止圆心x,终止圆心y,终止圆半径); | |
* 文本 | |
* 图像绘制 | |
* 图形画刷 | |
* 剪辑区 | |
* 绘制阴影 | |
* 绘制曲线 | |
> * 圆弧: context.arc(圆心x,圆心y,半径,起始角度,终止角度,是否逆时针) | |
> * 二次样条曲线: context.quadraticCurveTo(qcpx,qcpy,qx,qy) | |
>> http://blogs.sitepointstatic.com/examples/tech/canvas-curves/quadratic-curve.html | |
> * 贝塞尔曲线: context.bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y) | |
>> http://blogs.sitepointstatic.com/examples/tech/canvas-curves/bezier-curve.html | |
### 推荐插件 | |
* http://echarts.baidu.com/ 内置的包含了丰富功能的图表 | |
* https://antv.alipay.com/zh-cn/index.html 可视化图形语法可交互的统计图表 | |
* https://www.highcharts.com 交互图表 | |
* https://d3js.org/ 互动图表 |
html简单的知识的更多相关文章
- 简单的知识图谱,neo4j+python
因为研究方向是知识图谱,就有兴致想要构建一个简单的知识图谱,就在网上查找了一下,参考了neo4j搭建简单的金融知识图谱的思想,就着手从零开始构建. 1.首先就要考虑数据的获得,因为之前没有接触过爬虫之 ...
- java最简单的知识之创建一个简单的windows窗口,利用Frame类
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 微博:http://weibo.com/mcxiaobing 首先给大家看一下 ...
- Vue基础开发入门之简单语法知识梳理(思维导图详解)
基于个人写的以下关于Vue框架基础学习的三篇随笔,在此基础上,做一个阶段性的知识总结,以此来检验自己对Vue这一段时间学习的成果,内容不多,但很值得一看.(思维导图详解)
- jQuery的一些简单基础知识
### 什么是jQuery?jQuery(js+Query)是一款优秀的JavaScript库,帮助开发人员用最少的代码做更多的事情,官网网站http://jquery.com/ ### 为什么学习j ...
- Asp.net简单概念知识
1. 简述 private. protected. public. internal 修饰符的访问权限.答 . private : 私有成员, 在类的内部才可以访问. protected ...
- js 简单小知识
1. javascript的typeof返回哪些数据类型: string, boolean, number, undefined, function, object 2. split() join() ...
- [置顶] Firefox OS 学习——简单了解知识
什么是Firefox OS ? Firefox OS 是一个为网页设计而生的能编译和独立的手机网页操作系统,我们相信在接下来的时代,网页应用将充满整个新兴操作设备,这也为当前许多网页开发者不需要太多的 ...
- HDU 1203 I NEED A OFFER!(01背包+简单概率知识)
I NEED A OFFER! Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Sub ...
- C# 基础知识 (四).C#简单介绍及托管代码
暑假转瞬即逝,从10天的支教生活到1周的江浙沪旅游,在这个漫长的暑假中我经历了非常多东西,也学到了非常多东西,也认识到了非常多不足之处!闲暇之余我准备又一次进一步巩固C#相关知识,包含 ...
随机推荐
- javascript 实现数据结构 - 栈
栈是一种遵从后进先出(LIFO)原则的有序集合.新添加的或待删除的元素都保存在栈的同一端,称作栈顶,另一端就叫栈底.在栈里,新元素都靠近栈顶,旧元素都接近栈底.栈就好像是一个底部密封的盒子,我们往里面 ...
- Linux篇---ftp服务器的搭建
一.前述 企业中linux搭建ftp服务器还是很实用的,所以本文针对centoos7和centoos6搭建服务器教程做个总结. 二.具体 1.显示如下图则表示已安装 vsftp软件.如果未显示则需要安 ...
- 微信小程序初体验,入门练手项目--通讯录,部署上线(二)
接上一篇<微信小程序初体验,入门练手项目--通讯录,后台是阿里云服务器>:https://www.cnblogs.com/chengxs/p/9898670.html 开发微信小程序最尴尬 ...
- 个人完善的springboot拦截器
import lombok.extern.slf4j.Slf4j; import org.manage.management.permission.interceptor.LoginIntercept ...
- 机器学习之logistic回归算法与代码实现原理
Logistic回归算法原理与代码实现 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/10033567.html ...
- 从PRISM开始学WPF(四)Prism-Module-更新至Prism7.1
0x4Modules Modules是能够独立开发.测试.部署的功能单元,Modules可以被设计成实现特定业务逻辑的模块(如Profile Management),也可以被设计成实现通用基础设施或服 ...
- js 获取上传视频的时长、大小、后缀名
参考资料:获取时长 var fileName = $("#sectionfileUpload").val(); //C:\fakepath\3.jpeg var exts = fi ...
- Concat
.net 对List使用Concat newlist=list.Concat(list2).ToList() JS的Concat则不用ToList(),一样要用个值去接 Concat返回是一个新数组, ...
- 2019/1.7 js面向对象笔记
面向对象 1.构造函数里的属性怎么看?看this,谁前面有this谁就是属性. num不是属性,是私有作用域下的私有变量. 2.如何查找面向对象中的this 1.构造函数的this指向实例对象 2.如 ...
- python函数练习题