A. webweb前段 排序,大家能帮我详细分析下步骤吗同学帮我讲了一个小时也没听明白。
首先arr是个数组 数组就有大小 arr.length就是数组的大小数值.
for(var r=1;r<arr.length;r++)这个循环首先r=1 每循环一次 r自+1 直到r=arr.length则跳出循环.
for(var i=0;i<arr.length-r;i++)这个循环将在上层循环中被执行N次. 直到上层循环结束.而上层循环每执行一次,r的值就会自+1,而这个循环里的i 从初始0,每循环一次也会自+1;这里面的arr.length是不变的一个数字. 在这个循环里, 第一次arr.length-r 此时r=1 i=0,往后每循环一次,i的数值会变大.直到i的值=arr.length-r的值的时候就跳出循环.如果第一层循环条件未跳出,则继续进入到,此循环中.此循环再次检测,i是否=arr.length-r 第二次的时候r=2
以你的题为例, arr=[4,2,5,1,7,3,6] arr.length=7.
第一次循环 r=1 i=0 i要小于 arr.ength-1(7-1=6)才会循环,在内层循环中判断,arr[i]>arr[i+1]即arr[0]=4是否大于arr[1]=2. 条件满足, 在条件句语中重新排序.
接着再进行第二次内层循环. 此时的r还是1 要内层循环完成之后,才会跳到外层的循环.i=1;
第二次循环 条件正确1<6 继续进入. arr[i]=arr[1] arr[i+1]=arr[2] 因为第一次循环的时候满足了条件语句, 此时的arr[0]=2,arr[1]=4. 所以是4和5的比较, 4并不>5所以不进行条件语句.直接第三次循环,以此类推.当内层循环完了之后,
又到第一层, 然后 又进行第二层的排序, 以此类推.
之所以用两层循环,是因为,第一层循环完成之后, 只是将相邻的两个数字顺序变动,并没把把顺序排好. 比如第一次内循环完成之后 2415367 这时候内层循环完成,顺序并不正确,
再次到第二次外层循环, 进行第二次内循环计算, 214356 这回只会计算5个数字 因为r=2. 所以可以看出,这个算法是每外层循环一次, 会把最大的数字排到最后.前面, 的数字再在内循环里进行排序.
B. Web前端开发技术题 ,列举你知道的CSS选择器及其用法,并按优先顺序排序。
选择器 例子 描述
.class .intro 选择 class="intro" 的所有元素。
#id #firstname 选择 id="firstname" 的所有元素。
* * 选择所有元素。
element p 选择所有 <p> 元素。
element,element div,p 选择所有 <div> 元素和所有 <p> 元素。
element element div p 选择 <div> 元素内部的所有 <p> 元素。
element>element div>p 选择父元素为 <div> 元素的所有 <p> 元素。
element+element div+p 选择紧接在 <div> 元素之后的所有 <p> 元素。
[attribute] [target] 选择带有 target 属性所有元素。
[attribute=value] [target=_blank] 选择 target="_blank" 的所有元素。
[attribute~=value] [title~=flower] 选择 title 属性包含单词 "flower" 的所有元素。
[attribute|=value] [lang|=en] 选择 lang 属性值以 "en" 开头的所有元素。
:link a:link 选择所有未被访问的链接。
:visited a:visited 选择所有已被访问的链接。
:active a:active 选择活动链接。
:hover a:hover 选择鼠标指针位于其上的链接。
:focus input:focus 选择获得焦点的 input 元素。
:first-letter p:first-letter 选择每个 <p> 元素的首字母。
:first-line p:first-line 选择每个 <p> 元素的首行。
:first-child p:first-child 选择属于父元素的第一个子元素的每个 <p> 元素。
:before p:before 在每个 <p> 元素的内容之前插入内容。
:after p:after 在每个 <p> 元素的内容之后插入内容。
element1~element2 p~ul 选择前面有 <p> 元素的每个 <ul> 元素。
[attribute^=value] a[src^="https"] 选择其 src 属性值以 "https" 开头的每个 <a> 元素。
[attribute$=value] a[src$=".pdf"] 选择其 src 属性以 ".pdf" 结尾的所有 <a> 元素。
[attribute*=value] a[src*="abc"] 选择其 src 属性中包含 "abc" 子串的每个 <a> 元素。
:first-of-type p:first-of-type 选择属于其父元素的首个 <p> 元素的每个 <p> 元素。
:last-of-type p:last-of-type 选择属于其父元素的最后 <p> 元素的每个 <p> 元素。
:only-child p:only-child 选择属于其父元素的唯一子元素的每个 <p> 元素。
:nth-child(n) p:nth-child(2) 选择属于其父元素的第二个子元素的每个 <p> 元素。
:nth-last-child(n) p:nth-last-child(2) 同上,从最后一个子元素开始计数。
:nth-of-type(n) p:nth-of-type(2) 选择属于其父元素第二个 <p> 元素的每个 <p> 元素。
:nth-last-of-type(n) p:nth-last-of-type(2) 同上,但是从最后一个子元素开始计数。
:last-child p:last-child 选择属于其父元素最后一个子元素每个 <p> 元素。
:empty p:empty 选择没有子元素的每个 <p> 元素(包括文本节点)。
:target #news:target 选择当前活动的 #news 元素。
:enabled input:enabled 选择每个启用的 <input> 元素。
:disabled input:disabled 选择每个禁用的 <input> 元素
:checked input:checked 选择每个被选中的 <input> 元素。
:not(selector) :not(p) 选择非 <p> 元素的每个元素。
C. java web中的表格排序
排序的原理是 把上下相邻的两个td也就是单元格里面的值作比较,把较大的那个单元格所在的行上移,循环直到排序完毕
function generateCompareTRs(iCol){ //ICol代表排序的依据,也就是要排序的列的列序号
return function compare(tr1,tr2){ //tr1 tr2 分别代表俩个相邻的行
var v1=tr1.cells[iCol].firstChild.nodeValue; //cells就是行tr的格子数组
定义v1的值等于 行tr1的左数第iCol个格子里的数值
var v2=tr2.cells[iCol].firstChild.nodeValue;
定义v2的值等于 行tr2的左数第iCol个格子里的数值
比较v1和v2 然后根据情况 上移或者下移相应的tr
D. web设置排序序号为大写字母怎么设置
web设置排序序号为大写字母的方法步骤
1、先新建一个办公软件的word文档。
2、在Word文档中输入内容,如何设置文字的项目编号为大写字母,多复制多几行。
3、选中“如何设置文字的项目编号为大写字母”的字体。
4、点击主菜单中的开始
5、找到子菜单中的编号
6、选择编号为大写字母,则设置成功。
E. Web前端的学习顺序及内容是什么
第一阶段:
HTML CSS:HTML进阶、CSS进阶、div css布局、HTML css整站开发。
JavaScript基础:Js基础教程、js内置对象常用方法、常见DOM树操作大全、ECMAscript、DOM、BOM、定时器和焦点图。
JS基本特效:常见特效、例如:tab、导航、整页滚动、轮播图、JS制作幻灯片、弹出层、手风琴菜单、瀑布流布局、滚动事件、滚差视图。
JS高级特征:正则表达式、排序算法、递归算法、闭包、函数节流、作用域链、基于距离运动框架、面向对象基础。
JQuery:基础使用悬着器、DOM操作、特效和动画、方法链、拖拽、变形、JQueryUI组件基本使用。
第二阶段:
HTML5和移动Web开发
HTML5:HTML5新语义标签、HTML5表单、音频和视频、离线和本地存储、SVG、Web Socket、Canvas。
CSS3:CSS3新选择器、伪元素、脸色表示法、边框、阴影、background系列属性改变、Transition、动画、景深和深透、3D效果制作、Velocity.js框架、元素进场、出场策略、炫酷CSS3网页制作。
Bootstrap:响应式概念、媒体查询、响应式网站制作、删格系统、删格系统原理、Bootstrap常用模板、LESS和SASS。
移动Web开发:跨终端WEB和主流设备简介、视口、流式布局、弹性盒子、rem、移动终端JavaScript事件、手机中常见JS效果制作、Zepto.js、手机聚划算页面、手机滚屏。
第三阶段:
HTTP服务和AJAX编程
WEB服务器基础:服务器基础知识、Apache服务器和其他WEB服务器介绍、Apache服务器搭建、HTTP介绍。
PHP基础:PHP基础语法、使用PHP处理简单的GET或者POST请求。
AJAX上篇:Ajax简介和异步的概念、Ajax框架的封装、XMLHttpRequest对象详细介绍方法、兼容性处理方法、Ajax框架的封装、Ajax中缓存问题、XML介绍和使用。
AJAX下篇:JSON和JSON解析、数据绑定和模板技术、JSONP、跨域技术、图片预读取和lazy-load技术、JQuery框架中的AjaxAPI、使用Ajax实现爆布流案例额。
第四阶段:
面向对象进阶
面向对象终极篇:从内存角度到理解JS面向对象、基本类型、复杂类型、原型链、ES6中的面向对象、属性读写权限、设置器、访问器。
面向对象三大特征:继承性、多态性、封装性、接口。
设计模式:面向对象编程思维、单例模式、工厂模式、策略模式、观察者模式、模板方法模式、代理模式、装饰者模式、适配器模式、面向切面编程。
第五阶段:
封装一个属于自己的框架
框架封装基础:事件流、冒泡、捕获、事件对象、事件框架、选择框架。
框架封装中级:运动原理、单物体运动框架、多物体运动框架、运动框架面向对象封装。
框架封装高级和补充:JQuery框架雏形、可扩展性、模块化、封装属于传智自己的框架。
第六阶段:
模块化组件开发
面向组件编程:面向组件编程的方式、面向组件编程的实现原理、面向组件编程实战、基于组件化思想开发网站应用程序。
面向模块编程:AMD设计规范、CMD设计规范、RequireJS,LoadJS、淘宝的SeaJS。
第七阶段:
主流的流行框架
Web开发工作流:GIT/SVN、Yeoman脚手架、NPMer依赖管理工具、Grunt/Gulp/Webpack。
MVC/MVVM/MVW框架:Angular.js、Backbone.js、Knockout/Ember。
常用库:React.js、Vue.js、Zepto.js。
第八阶段:
HTML5原生移动应用开发
Cordova:WebApp/NativeApp/HybirdApp简介、Cordova简介、与PhoneGap之间的关系、开发环境搭建、Cordova实战(创建项目,配置,编译,调试,部署发布)。
Ionic:Ionic简介和同类对比、模板项目解析、常见组件及使用、结合Angular构建APP、常见效果(下拉刷新,上拉加载,侧滑导航,选项卡)。
React Native:React Native简介、React Native环境配置、创建项目,配置,编译,调试,部署发布、原生模块和UI组件、原生常用API。
HTML5 :HTML5 中国产业联盟、HTML5 Plus Runtime环境、HBuilder开发工具、MUI框架、H5 开发和部署。
第九阶段:
Node.js全栈开发
快速入门:Node.js发展、生态圈、Io.js、Linux/Windows/OS X环境配置、REPL环境和控制台程序、异步编程,非阻塞I/O、模块概念,模块管理工具、开发流程,调试,测试。
核心模块和对象:全局对象global,process,console,util、事件驱动,事件发射器、加密解密,路径操做。
祝你学有所成!
如果大家对于学习前端有任何不懂的可以随时来问我,我给你提供一个非常不错的前端交流学习qun:前面是一一四,中间是一八八,后面是四九三一。有问题就在里面问我,这样你可以少走很多弯路,做起来有效率,记得多跟有经验的人交流,别闭门造车。如果没有比较好的教程,也可以管我要。