前端入门者,请~

本文是结合《Before Coding》(来自:Gitbook)读书总结和自己的小Demo整合而成。


0. 概述

本文的架构是由“D-D-P”三个部分组成——开发(Develop),设计(Design),产品(Product)。

开发部分主要从语言、平台、工具这三个层面进行讲解。

语言:强类型(Java、Swift、Python 类)、弱类型(JavaScript 类);
平台:平台会讲解时下比较火的四大平台的开发流程——Android应用、iOS应用、Web开发(HTML5/Web App)、微信开发。
工具:一些IDE、开发工具、代码管理工具等。 (工欲善其事必先利其器

1. HTML & CSS

工具推荐 (Tools):

Sublime TextAtomVisual Studio CodeEditPlusNodepad++WebStormDreamWeaver。其中,前面5款是轻量级的,只有几M大小,后面两款是IDE级的。

  • **Sublime Text ** 具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。
    最最关键的是,它是免费的!而且拥有强大的插件库。
    下载地址:https://www.sublimetext.com/3
    Sublime Text 有哪些使用技巧? - 知乎
    前端入门者,请~_第1张图片
    Sublime Text

HTML:以下表格列出了 HTML head 元素下的所有标签和功能:

标签 描述
定义了文档的信息
</td> <td style="text-align:center">定义了文档的标题</td> </tr> <tr> <td style="text-align:center"><base></td> <td style="text-align:center">定义了页面链接标签的默认链接地址</td> </tr> <tr> <td style="text-align:center"><link></td> <td style="text-align:center">定义了一个文档和外部资源之间的关系</td> </tr> <tr> <td style="text-align:center"><meta></td> <td style="text-align:center">定义了HTML文档中的元数据</td> </tr> <tr> <td style="text-align:center"><script></td> <td style="text-align:center">定义了客户端的脚本文件</td> </tr> <tr> <td style="text-align:center"><style></td> <td style="text-align:center">定义了HTML文档的样式文件</td> </tr> </tbody> </table> <blockquote> <hr> <h4>CSS :</h4> </blockquote> <p><strong>CSS</strong> 是编写页面样式的一种语言。用 HTML 写好后的各个元素长什么样子,都是用 CSS 来完成的。比如:大小,边框,背景,颜色,透明度,定位等等。</p> <ul> <li><strong>使用CSS有三种方式</strong></li> <li><strong><em>内联样式</em></strong></li> </ul> <pre><code class="html"><div style="width:100px; height:100px; border:1px solid lightblue;">I am a DIV</div> </code></pre> <ul> <li><strong><em>内部引入</em></strong></li> </ul> <pre><code class="HTML"><head> .divStyle{ width:100px; height:100px; border:1px solid lightblue; } </head> <body> <div class = "divStyle">I am a DIV</div> </body> </code></pre> <ul> <li><strong><em>外部引入</em></strong></li> </ul> <pre><code class="html"><head> <link rel="stylesheet" href="style.css"> </head> <body> <div class = "divStyle">I am a DIV</div> </body> </code></pre> <pre><code class="css">/*在style.css中定义样式*/ .divStyle{ width:100px; height:100px; border:1px solid lightblue; } </code></pre> <ul> <li> <strong>CSS 的优先级</strong><br> css 是存在优先级的,当我们给一个元素定义多个css样式时怎么办?这时浏览器就会按照最高优先级的css进行渲染。</li> </ul> <blockquote> <blockquote> <p>三种方式中,<code>内联</code>是最高级别的,而<code>内部引入</code>和<code>外部引入</code>是平级的,平级的css样式,后边的覆盖前边的。当然,还可以人为强制给最高优先级,这时就需要加 <code>!important</code> 来实现了。</p> </blockquote> </blockquote> <ul> <li><strong>推荐一个好玩的网站</strong></li> </ul> <blockquote> <p>禅意花园:一个很棒的Css参考网站,1个HTML文件,用几百个Css文件渲染,从而展示出不同的风格,也证明了Css的强大。</p> </blockquote> <h2>2. 计算机网络了解</h2> <blockquote> <h4>当你在浏览器里请求一个网址时会发生什么?(以去商店购物为例)</h4> </blockquote> <ol> <li>浏览器在域名系统服务器上找出存放网页的服务器的实际地址(找出商店的位置)。</li> <li>浏览器发送 HTTP 请求信息到服务器来请拷贝一份网页到客户端(你走到商店并下订单)。这条消息,包括其他所有在客户端和服务器之间传递的数据都是通过互联网使用 TCP/IP 协议传输的。</li> <li>服务器同意客户端的请求后,会返回一个“200 OK”信息,意味着“你可以查看这个网页,给你~”,然后开始将网页的文件以数据包的形式传输到浏览器(商店给你商品,你将商品带回家)。</li> <li>浏览器将数据包聚集成完整的网页然后将网页呈现给你(商品到了你的门口 —— 新东西,好棒!)。</li> </ol> <blockquote> <hr> <h4>URI、URL与URN</h4> </blockquote> <ul> <li>URI:Uniform Resource Identifier,统一资源标识符;</li> <li>*** URL:Uniform Resource Locator,统一资源定位符***;</li> <li>URN:Uniform Resource Name,统一资源名称。</li> </ul> <blockquote> <p>URL 与 URN 是 URI 的子集,它们之间的关系如下图。</p> <br> <div class="image-package"> <div class="image-container" style="max-width: 700px; max-height: 400px;"> <div class="image-view"> <a href="http://img.e-com-net.com/image/info10/bca89bfde7994f41a0b2325758d07f75.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/bca89bfde7994f41a0b2325758d07f75.jpg" width="650" height="325" alt="前端入门者,请~_第2张图片" style="border:1px solid black;"></a> </div> </div> <div class="image-caption"> URI、URL与URN </div> </div> </blockquote> <blockquote> <ul> <li>URL 的组成<br> 例子: http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument </li> </ul> </blockquote> <ul> <li> <strong>协议(Protocol):</strong> <code>http:</code> 是协议部分,表示浏览器使用 <strong>HTTP 协议</strong>对 URL 进行处理。<br> 当然还有其他的协议,如<code>mailto://</code> 代表的是使用邮件客户端打开,<code>ftp://</code> 则是使用 <strong>FTP 协议</strong>。</li> <li> <strong>域名(Domain Name):</strong> <code>www.example.com</code> 是一个域名,也可以使用 IP 地址。<br> 浏览器直接指向域名所在的 Web 服务器。</li> <li> <strong>端口(Port):</strong> <code>:80</code> 是端口。它表示用于访问 Web 服务器上的<strong>“gate”</strong>。<br> 通常如果 Web 服务器使用 HTTP 协议,端口可以省略(HTTP 默认 80 端口,HTTPS 默认 443 端口)。</li> <li> <strong>文件路径(Path to the file):</strong> <code>/path/to/myfile.html</code> 是 Web 服务器上的资源路径。<br> 在 Web 的早期,一个像这样的路径表示 Web 服务器上的物理文件位置。如今,它主要是一个抽象的Web服务器处理,没有任何物理现实。</li> <li> <strong>参数(Parameters):</strong> <code>?key1=value1&key2=value2</code> 提供 Web 服务器的额外参数。<br> 这些参数是 & 分隔的** 键/值对 **的列表。在返回资源之前,Web 服务器可以使用这些参数做额外的工作。每个 Web 服务器都有自己的有关参数的规则,而唯一可靠的方法来知道一个特定的 Web 服务器是否处理参数是通过询问 Web 服务器所有者。</li> <li> <strong>锚点(Anchor):</strong> <code>#SomewhereInTheDocument</code> 叫做锚。<br> 它可以标记出以获取资源中的子资源,也就是该文档的某一个位置。</li> </ul> <h2>3. JavaScript 简介</h2> <blockquote> <h4>JavaScript 简介</h4> </blockquote> <p><strong>JavaScript</strong> 是一门跨平台、面向对象的轻量级脚本语言。 在主机环境中, JavaScript 能够通过连接环境对象而实现可控制编译。</p> <blockquote> <p>JavaScript 内置了一个包含一系列对象的标准库,比如数组、日期、数学和一个语言元素核心集合包括操作符,流程控制符以及语句等。JavaScript 的核心部分可以通过组合已有语言核心对象来扩展语言以适应不同用途,例如:</p> </blockquote> <blockquote> <ul> <li>客户端的 JavaScript 通过提供控制浏览器及其文档对象模型(DOM)的对象来扩展语言核心。例如:客户端版本直接支持应用将元素放在在HTML表单中并且支持响应用户事件比如鼠标点击、表单提交和页面导航。</li> </ul> </blockquote> <blockquote> <ul> <li>服务端的 JavaScript 则通过提供有关在服务器上运行 JavaScript 的对象来可扩展语言核心。例如:服务端版本直接支持应用和数据库通信,提供应用不同调用间的信息连续性,或者在服务器上执行文件操作。</li> </ul> </blockquote> <blockquote> <blockquote> <p>服务端的 JavaScript 通常使用 **Node.js **技术。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。</p> </blockquote> </blockquote> <blockquote> <hr> <h4>JavaScript 和 Java</h4> </blockquote> <p>就像** “雷峰塔” <strong>和</strong> “雷锋” <strong>的关系,</strong> “老婆饼” <strong>和</strong> “老婆” **的关系。</p> <blockquote> <p>JavaScript 和 Java 有一些共性但是在另一些方面有着根本性区别。JavaScript 名称上酷似 Java,但是并<strong>没有Java 的静态类型和强类型检查特性。</strong></p> </blockquote> <blockquote> <p>与 Java 通过声明式构建类的编译时系统不同,JavaScript 采用基于少量的数据类型如数字、布尔、字符串值的运行时系统。JavaScript 拥有基于原型的对象模型提供的动态继承,也就是说,独立对象的继承是可以改变的。 <strong>JavaScript 支持匿名函数,函数也可以作为对象的属性执行。</strong></p> </blockquote> <blockquote> <p>与 Java 相比,Javascript 是一门形式自由的语言。<strong>你不必声明所有的变量,类和方法。你不必关心方法是否是 共有、私有或者受保护的,也不需要实现接口。无需显式指定变量、参数、方法返回值的数据类型。</strong></p> </blockquote> <blockquote> <p>Java 是基于类的编程语言,设计的初衷就是为了快速执行和类型安全的。类型安全,举例来说,你不能将一个Java 整数变量转化为一个对象引用,或者由J ava 字节码访问专有存储器。Java 基于类的模型,意味着程序包含专有的类及其方法。Java 的类继承和强类型要求紧耦合的对象层级结构。这些要求使得 Java 编程比 JavaScript 要复杂的多。</p> </blockquote> <blockquote> <p>相比之下,JavaScript 语句精简、拥有动态类型,为更多开发者提供了一种语法简单、内置功能强大以及用最小需求创建对象的编程工具。</p> </blockquote> <blockquote> <ul> <li>具体对比如下表:</li> </ul> </blockquote> <table> <thead> <tr> <th style="text-align:center">JavaScript</th> <th style="text-align:center">Java</th> </tr> </thead> <tbody> <tr> <td style="text-align:center">面向对象。不区分对象类型。通过原型机制继承,任何对象的属性和方法均可以被动态添加。</td> <td style="text-align:center">基于类系统。分为类和实例,通过类层级的定义实现继承。不能动态增加对象或类的属性或方法。</td> </tr> <tr> <td style="text-align:center">变量类型不需要提前声明(动态类型)。</td> <td style="text-align:center">变量类型必须提前声明(静态类型)。</td> </tr> <tr> <td style="text-align:center">所有对象均为实例。</td> <td style="text-align:center">类和实例是不同的事物。</td> </tr> <tr> <td style="text-align:center">通过构造器函数来定义和创建一组对象。</td> <td style="text-align:center">通过类定义来定义类;通过构造器方法来实例化类。</td> </tr> <tr> <td style="text-align:center">通过 new 操作符创建单个对象。</td> <td style="text-align:center">相同。</td> </tr> <tr> <td style="text-align:center">指定一个对象作为原型并且与构造函数一起构建对象的层级结构</td> <td style="text-align:center">通过类定义来定义现存类的子类,从而构建对象的层级结构。</td> </tr> <tr> <td style="text-align:center">遵循原型链继承属性。</td> <td style="text-align:center">遵循类链继承属性。</td> </tr> <tr> <td style="text-align:center">构造器函数或原型指定初始的属性集。允许动态地向单个的对象或者整个对象集中添加或移除属性。</td> <td style="text-align:center">类定义指定类的所有实例的所有属性。无法在运行时动态添加属性。</td> </tr> </tbody> </table> <blockquote> <hr> </blockquote> <blockquote> <h4>JS 语法规则:</h4> </blockquote> <blockquote> <ul> <li>** 变量(var / let)、常量(const)、变量的作用域;**</li> </ul> </blockquote> <ul> <li> <strong>数据类型</strong><br> <em>JavaScript * 语言可以识别下面 7 种不同类型的值:<br> 其中六种是</em><em>原型</em>*的数据类型:</li> <li> <strong>Boolean</strong>. 布尔值,true 和 false.</li> <li> <strong>Null</strong>. 一个表明 null 值的特殊关键字。 JavaScript 是大小写敏感的,因此 null 与 Null、NULL或其他变量完全不同。</li> <li> <strong>Undefined</strong>. 变量未定义时的属性。</li> <li> <strong>Number</strong>. 表示数字,例如: 42 或者 3.14159。</li> </ul> <ul> <li> <strong>String</strong>. 表示字符串,例如:"Howdy"。</li> <li> <strong>Symbol</strong> . 一种数据类型,它的实例是唯一且不可改变的。<br> 以及 <strong>Object</strong> 对象。</li> </ul> <ul> <li> <strong>数据类型的转换</strong><br> 举例:字符串转换为数字<br> 有一些** 有趣的方法 **可以将字符串转换为对应的数字。</li> <li> <code>parseInt()</code> 和 <code>parseFloat()</code>, parseInt 仅能够返回整数,所以使用它会丢失小数部分。另外,调用 parseInt 时最好总是带上进制参数,这个参数用于指定使用哪一种数制。</li> <li>单目加法运算符 将字符串转换为数字的另一种方法是使用单目加法运算符。</li> </ul> <pre><code class="javascript">"1.1" + "1.1" = "1.11.1" (+"1.1") + (+"1.1") = 2.2 // 注:加入括号为清楚起见,不是必需的。 </code></pre> <ul> <li> <strong>运算符</strong><br> JavaScript 拥有 <strong>一元</strong> 和 <strong>二元</strong> 运算符, 和一个特殊的** 三元 **运算符(条件运算符)。</li> <li> <strong><em>复合赋值运算符</em></strong>(表格整理,便于直观地查询)</li> </ul> <blockquote> <p>|名字|速记操作|等同于|<br> | :---: | :---: | :---: |<br> |赋值|x = y|x = y|<br> |加法赋值 |x + = y |x = x + y|<br> |减法赋值 |x - = y |x = x - y|<br> |乘法赋值 |x * = y |x = x * y|<br> |除法赋值 |x / = y |x = x / y|<br> |求余赋值 |x % = y |x = x % y|<br> |求幂赋值 |x ** = y |x = x ** y|<br> |左移位赋值|x << = y |x = x << y|<br> |右移位赋值 |x >> = y |x = x >> y|<br> |无符号右移位赋值| x >>> = y |x = x >>> y|<br> |按位与赋值 |x & = y |x = x & y|<br> |按位异或赋值 |x ^ = y |x = x ^ y|<br> |按位或赋值 |x | y |x = x | y |</p> </blockquote> <ul> <li> <ul> <li> <strong><em>比较运算符</em></strong><br> 等于(==);<br> 不等于(!=);<br> 全等于(===);<br> 不全等于(!==);<br> 大于(>);<br> 大于等于(>=);<br> 小于(<);<br> 小于等于(<=).</li> </ul></li> <li> <strong><em>位运算符</em></strong><br> 按位与:<code>a & b</code><br> 按位或:<code>a | b</code><br> 按位异或:<code>a ^ b</code><br> 按位反:<code>~a</code><br> 左移:<code>a << b</code><br> 右移:<code>a >> b</code><br> 无符号右移:<code>a >>> b</code> </li> <li> <strong><em>逻辑运算符</em></strong><br> 与(&&) ; 或(| |) ; 非(!)。<br> <strong>与:</strong> 全真才真,一假则假。 <code>var result = "Cat" && "Dog"; // returns Dog</code><br> <strong>或:</strong> 全假才假,一真则真。 <code>var result = "Cat" || "Dog"; // returns Cat</code><br> <strong>非:</strong> 真变假,假变真。</li> <li><strong><em>条件运算符(三目运算符)</em></strong></li> </ul> <pre><code class="javascript">var result = 3 >2 ? console.log("This is True") : console.log("This is False"); </code></pre> <blockquote> <hr> <ul> <li>** 数组 (Array) **</li> </ul> </blockquote> <ul> <li>***创建数组 ***<br> 创建数组有三种方式,语法如下:</li> </ul> <pre><code class="javascript">[element0, element1, ..., elementN] //直接创建 new Array(element0, element1[, ...[, elementN]]) //通过 new 来创建 new Array(arrayLength) //arrayLength 为数组长度 </code></pre> <ul> <li> <strong><em>访问数组</em></strong><br> JavaScript 数组的索引值(index)从0开始,即数组第一个元素的索引值为0。最后一个元素的索引值等于该数组的长度减1(即 Array.length -1)。</li> </ul> <pre><code class="javascript">var Array = [0,1,2,3,4,...,Array.length-1]; var element1 = Array[0]; //数组的第一个元素 var element2 = Array[1]; //数组的第二个元素 ... ... var lastElement = Array[Array.length-1]; //以此类推,数组的最后一个元素的索引值(下标)是Array.length-1. </code></pre> <ul> <li> <strong><em>获取数组的长度</em></strong><br> 看过上边的示例,应该可以猜测到数组的长度就是用 <code>length</code> 来获取的。<br> JavaScript array 的 <strong>length</strong> 属性和其数字下标是有关系的。几个内置数组的方法 (例如, <strong>join</strong>,<strong>slice</strong>,<strong>indexOf</strong>等) 被调用的时候会使用到 length 属性。 有些别的方法 (例如,<strong>push</strong>,<strong>splice</strong> 等) 会改变 array 的 length 属性。</li> </ul> <pre><code class="js">var fruits = []; fruits.push('banana', 'apple', 'peach'); console.log(fruits.length); // 3 </code></pre> <p>当你在 array 上使用一个合法的数组下标,而且该下标超出了当前数组的大小的时候,引擎会根据其值自动更新 array 的 length 属性:</p> <pre><code class="js">fruits[5] = 'mango'; console.log(fruits[5]); // 'mango' console.log(fruits.length); //名为fruits的数组的长度为6 </code></pre> <p>同样的,减小 array 的 length 属性会删掉超出的元素:</p> <pre><code class="js">fruits.length = 2; console.log(fruits.length); // 2 </code></pre> <ul> <li> <strong>一起来做个小练习吧</strong>(此刻我在想诛仙,在想碧瑶,所以就拿这个来做Demo啦) <ol> <li>创建一个诛仙人物名的数组</li> </ol> </li> </ul> <pre><code class="javascript"> var zhuXian = ['zhangXiaoFan','biYao','linJingYu','luXueQi','daoXuan','tianBuYi','cangSong']; </code></pre> <ol start="2"> <li>获取一下这个数组的长度</li> </ol> <pre><code class="javascript"> var length = zhuXian.length; // 7 个人 </code></pre> <ol start="3"> <li>找到数组的第一个,最后一个是谁?碧瑶在哪里?</li> </ol> <pre><code class="js">var first = zhuXian[0]; //小凡,你是第一个 var last = zhuXian[zhuXian.length-1]; //最后一个竟然是苍松道人 var Yao = zhuXian.indexOf("biYao"); // 1, 原来碧瑶在第二个位置 </code></pre> <ol start="4"> <li>遍历一下数组,和每个人见个面</li> </ol> <pre><code class="js">//forEach用来遍历,()内是对遍历到的每个元素执行的函数 zhuXian.forEach(function (item, index) { console.log(item, index); }); /* Output: zhangXiaoFan 0 biYao 1 linJingYu 2 luXueQi 3 daoXuan 4 tianBuYi 5 cangSong 6 */ </code></pre> <ol start="5"> <li>添加一个元素到数组的末尾push</li> </ol> <pre><code class="js">var zhuXian_add = zhuXian.push('tianLingEr'); // zhuXian : ["zhangXiaoFan", "biYao", "linJingYu", "luXueQi", "daoXuan", "tianBuYi", "cangSong", "tianLingEr"] // zhuXian_add : 8. </code></pre> <ol start="6"> <li>删除数组末尾的元素pop</li> </ol> <pre><code class="js">var zhuXian_remove = zhuXian.pop(); // zhuXian : ['zhangXiaoFan','biYao','linJingYu','luXueQi','daoXuan','tianBuYi','cangSong']; // zhuXian_remove : "tianLingEr". </code></pre> <ol start="7"> <li>删除数组前面的元素shift</li> </ol> <pre><code class="js">var zhuXian_DelFirst = zhuXian.shift(); // zhuXian:["biYao", "linJingYu", "luXueQi", "daoXuan", "tianBuYi", "cangSong"] // zhuXian_DelFirst : "zhangXiaoFan". </code></pre> <ol start="8"> <li>添加到数组的前面unshift</li> </ol> <pre><code class="js">var zhuXian_unshift = zhuXian.unshift("xiaoFan"); // zhuXian:["xiaoFan", "biYao", "linJingYu", "luXueQi", "daoXuan", "tianBuYi", "cangSong"] // zhuXian_unshift : 7 </code></pre> <ol start="9"> <li>通过索引删除或替换某个元素splice</li> </ol> <pre><code class="js">// Array.splice(index,howMany,substitution) // 从数组的索引值为index的那个元素开始,howMany个元素都被substitution替换。substitution可以是多个,用逗号隔开。 var zhuXian_position = zhuXian.splice(4,1); //删掉第四个元素开始的第一个元素,即第四个("daoXuan")自己。 // zhuXian:["xiaoFan", "biYao", "linJingYu", "luXueQi", "tianBuYi", "cangSong"] // zhuXian_position : ["daoXuan"] </code></pre> <ol start="10"> <li>复制一个数组slice</li> </ol> <pre><code class="js">var zhuXian_copy = zhuXian.slice(); // zhuXian:["xiaoFan", "biYao", "linJingYu", "luXueQi", "tianBuYi", "cangSong"] // zhuXian_copy :["xiaoFan", "biYao", "linJingYu", "luXueQi", "tianBuYi", "cangSong"] </code></pre> <blockquote> <hr> </blockquote> <ul> <li><strong>条件判断语句</strong></li> <li><strong>if...else</strong></li> </ul> <pre><code class="js">if(判断条件){ if 为 true 时执行的语句 }else{ 执行情况为 else 的语句 } </code></pre> <blockquote> <blockquote> <p>注意: 下面这些值将被计算出 <strong>false</strong>:<br> false<br> undefined<br> null<br> 0<br> NaN<br> 空字符串 ("") 当传递给条件语句时,所有其他值,包括所有对象会被计算为 true 。</p> </blockquote> </blockquote> <ul> <li> <strong>swith...case</strong><br> switch 语句允许一个程序求一个表达式的值并且尝试去匹配表达式的值到一个 case label。如果匹配成功,这个程序执行相关的语句。switch 语句如下所示:</li> </ul> <pre><code class="js">switch (expression) { case label_1: statements_1 break; case label_2: statements_2 break; ... default: statements_def break; } </code></pre> <blockquote> <blockquote> <p>可选的 break 语句与每个 case 语句相关联, 保证在匹配的语句被执行后,程序可以跳出 switch 并且继续执行 switch 后面的语句。<br> <strong>如果不写 break , 程序将继续执行 switch 中的语句。</strong></p> </blockquote> </blockquote> <hr> <ul> <li> <strong>循环语句</strong><br> 循环语句是一系列反复执行直到符合特定条件的命令。JavaScript 支持<code>for</code>,<code>do while</code>,<code>while</code>这些循环语句,还有 <code>Label</code>(label 本身不是一个循环语句,但是经常和这些语句一起使用)。另外,你可以在循环语句中使用<code>break</code>和<code>continue</code>语句。<br> <strong>需要注意的是</strong>,还有另一种比较高级的循环语句:<code>for each...in</code>,但它是用来操作对象的。</li> <li><strong><em>for 语句</em></strong></li> </ul> <pre><code class="js">// 说明 for (初始化表达式, 判断继续执行的条件, 累计表达式) { 循环内执行的语句 } // Demo:使用了前面的示例数组(Array :zhuXian) for (var i = 0; i < zhuXian.length; i++){ console.log(zhuXian[i]); } </code></pre> <ul> <li> <strong><em>do...while 语句</em></strong><br> do...while 语句反复直到一个特定条件计算为假。do...while 语句如下所示:</li> </ul> <pre><code class="js">do { i += 1; console.log(i); } while (i < 5); // do 循环至少迭代一次,然后重复执行直到 i 不再小于 5。 </code></pre> <ul> <li> <strong><em>while 语句</em></strong><br> while 语句只要一个特定条件计算为真就执行语句。如下所示:</li> </ul> <pre><code class="js">// 下面的 while 循环只在 n 小于 3 的时候反复执行: n = 0; x = 0; while (n < 3) { n++; x += n; } </code></pre> <p>在每次迭代中,循环计数器 n 会增加 1 并会与 x 相加。因此,x 与 n 在每次迭代中的值为:<br> 第一次执行后:n=1,x=1;<br> 第二次执行后:n=2,x=3;<br> 第三次执行后:n=3,x=6。<br> 在第三次执行完成后,条件判断 n<3 不再为 true,循环终止。</p> <blockquote> <blockquote> <p>注意:要避免死循环;所以对 while 的 <strong>条件限制</strong> 尤为重要。</p> </blockquote> </blockquote> <blockquote> <p>** JavaScript 用 <code>for...in</code>, <code>for each...in</code> 和 <code>with</code> 语句来操作对象。**</p> </blockquote> <ul> <li> <strong><em>for...in</em></strong> 循环可以遍历对象中所有可枚举的对象属性(包括对象自有属性和继承的属性)。不过需要注意的是,使用<code>for...in</code> 循环遍历对象属性时,返回的属性会因为各个浏览器不同,导致对象属性遍历的顺序与当初构建时的顺序不同。</li> </ul> <pre><code class="js">var obj = { "name":"lukas" , "job":"FE" , "age":24 } for (item in obj){ console.log(item); } /* Output: name job age */ </code></pre> <ul> <li>***for each...in ***<br> 它和 for...in 相似,但是让对象属性的值递回取得,而不是作用于它们的名字。</li> </ul> <pre><code class="js">var sum = 0; var obj = {num1: 15, num2: 13, num3: 8}; for each (var item in obj) { sum += item; } console.log(sum); // "36" = 15+13+8 </code></pre> <hr> <ul> <li>** 函数 · function **</li> <li> <strong><em>定义一个函数</em></strong><br> 定义函数时,要先写明function这个关键词,然后注明函数名字(js里还有匿名函数,这时就不用函数名了),小括号里放参数,多个参数可以用英文逗号隔开,而大括号里就是函数体,具体的操作和功能都在这里完成。</li> </ul> <pre><code class="js">function add(a,b){ var result = a + b; return result; } // 定义完函数后,拿来调用就可以啦 add(3,4); // 7 </code></pre> <ul> <li> <strong><em>函数的递归调用</em></strong><br> 所谓递归,就是在函数内自己调用自己,举个栗子,我们用一个函数来实现阶乘的计算。</li> </ul> <pre><code class="js">function factorial(n) { n = parseInt(n); // 为了防止有小数输入,这里进行了取整,小数点后的全被截取掉。 if ((n == 0) || (n == 1)) return 1; else return (n * factorial(n - 1)); //我们在这里用了递归,当n > 1时,就再次调用自己 } // 执行结果 factorial(1); // 1 factorial(3); // 6 factorial(3.5); // 6 </code></pre> <ul> <li> <strong><em>函数的作用域</em></strong><br> 函数的作用域针对函数内定义的变量。</li> </ul> <blockquote> <p>在函数内定义的变量不能从函数之外的任何地方取得,因为变量仅仅在该函数的域的内部有定义。<br> 相对应的,一个函数可以取得在它的域中定义的任何变量和子函数。<br> 换言之,定义在全局域中的函数可以取得所有定义在全局域中的变量。<br> 而定义在一个函数内部的子函数可以取得定义在其父函数内的,或其父函数取得的任何变量。</p> <blockquote> <p>变量的作用域无非就是两种:<em>全局变量</em> 和 <em>局部变量</em>。<br> <strong>Javascript</strong> 语言的特殊之处,就在于函数内部可以直接读取全局变量。<br> 另一方面,由于JS 的 <code>“链式作用域”</code>, 在函数外部自然无法读取函数内的局部变量。<br> 当我们需要从函数外部读取内部的变量时,就需要JS中一个重要的东西** “闭包” **了。</p> </blockquote> </blockquote> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1200849910396723200"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(前端入门者,请~)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1950233072825856000.htm" title="三菱PLC全套学习资料及应用手册" target="_blank">三菱PLC全套学习资料及应用手册</a> <span class="text-muted">good2know</span> <div>本文还有配套的精品资源,点击获取简介:三菱PLC作为工业自动化领域的核心设备,其系列产品的学习和应用需要全面深入的知识。本次资料包为学习者提供从基础到进阶的全方位学习资源,包括各种型号PLC的操作手册、编程指南、软件操作教程以及实际案例分析,旨在帮助用户系统掌握PLC的编程语言、指令系统及在各类工业应用中的实施。1.三菱PLC基础知识入门1.1PLC的基本概念可编程逻辑控制器(PLC)是工业自动化</div> </li> <li><a href="/article/1950232820773351424.htm" title="移动端城市区县二级联动选择功能实现包" target="_blank">移动端城市区县二级联动选择功能实现包</a> <span class="text-muted">good2know</span> <div>本文还有配套的精品资源,点击获取简介:本项目是一套为移动端设计的jQuery实现方案,用于简化用户在选择城市和区县时的流程。它包括所有必需文件:HTML、JavaScript、CSS及图片资源。通过动态更新下拉菜单选项,实现城市到区县的联动效果,支持数据异步加载。开发者可以轻松集成此功能到移动网站或应用,并可基于需求进行扩展和优化。1.jQuery移动端解决方案概述jQuery技术简介jQuery</div> </li> <li><a href="/article/1950231640819167232.htm" title="贝多芬诞辰250周年纪念" target="_blank">贝多芬诞辰250周年纪念</a> <span class="text-muted">万千星河赴远方</span> <div>就算不是古典音乐爱好者,你也一定听说过贝多芬。作为古典音乐史上最伟大的音乐家之一,他不仅是古典主义风格的集大成者,同时也是浪漫主义风格的开创者。贝多芬肖像画(1813年)贝多芬的一生共创作了9部交响曲、36首钢琴奏鸣曲、10部小提琴奏鸣曲、16首弦乐四重奏、1部歌剧及2部弥撒曲等等。数量虽然不及前辈海顿、莫扎特多,但他几乎改造了当时所有的音乐表达形式,赋予了它们全新的价值,对后世音乐的发展产生了极</div> </li> <li><a href="/article/1950230114205757440.htm" title="现在发挥你的优势" target="_blank">现在发挥你的优势</a> <span class="text-muted">爱生活的佑嘉</span> <div>来和我做咨询的一些朋友,涉及到定位的,都会说,我不知道我的优势是什么,你能不能帮我看看?还有一些朋友,喜欢做各种测试来了解自己,测试过后,然并卵。今天,我想来聊聊优势,如何能了解自己的优势是什么。首先,我们要知道,如果要成为“不一般”的人,我们所做的事情,就要基于自身的优势。我做管理者十多年,看到每个员工都有不同的特长,有的擅长数字,有的擅长人际,有的擅长写作。这些知道自己优势并且在这方面刻意练习</div> </li> <li><a href="/article/1950229040682037248.htm" title="48. 旋转图像 - 力扣(LeetCode)" target="_blank">48. 旋转图像 - 力扣(LeetCode)</a> <span class="text-muted">Fiee-77</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E7%BB%84/1.htm">数组</a><a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E7%BB%84/1.htm">数组</a> <div>题目:给定一个n×n的二维矩阵matrix表示一个图像。请你将图像顺时针旋转90度。你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例1:输入:matrix=[[1,2,3],[4,5,6],[7,8,9]]输出:[[7,4,1],[8,5,2],[9,6,3]]示例2:输入:matrix=[[5,1,9,11],[2,4,8,10],[13,3,6,</div> </li> <li><a href="/article/1950228285266915328.htm" title="Git 与 GitHub 的对比与使用指南" target="_blank">Git 与 GitHub 的对比与使用指南</a> <span class="text-muted">一念&</span> <a class="tag" taget="_blank" href="/search/%E5%85%B6%E5%AE%83/1.htm">其它</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a> <div>Git与GitHub的对比与使用指南在软件开发中,Git和GitHub是两个密切相关但本质不同的工具。下面我将逐步解释它们的定义、区别、核心概念以及如何协同使用,确保内容真实可靠,基于广泛的技术实践。1.什么是Git?Git是一个分布式版本控制系统,由LinusTorvalds于2005年创建。它的核心功能是跟踪代码文件的变化,帮助开发者管理项目历史记录、协作和回滚错误。Git是开源的,可以在本地</div> </li> <li><a href="/article/1950228158863175680.htm" title="英伟达靠什么支撑起了4万亿?AI泡沫还能撑多久?" target="_blank">英伟达靠什么支撑起了4万亿?AI泡沫还能撑多久?</a> <span class="text-muted"></span> <div>英伟达市值突破4万亿美元,既是AI算力需求爆发的直接体现,也暗含市场对未来的狂热预期。其支撑逻辑与潜在风险并存,而AI泡沫的可持续性则取决于技术、商业与地缘政治的复杂博弈。⚙️一、英伟达4万亿市值的核心支撑因素技术垄断与生态壁垒硬件优势:英伟达GPU在AI训练市场占有率超87%,H100芯片的FP16算力达1979TFLOPS,领先竞品3-5倍。CUDA生态:400万开发者构建的软件护城河,成为A</div> </li> <li><a href="/article/1950226040571883520.htm" title="读书摘记" target="_blank">读书摘记</a> <span class="text-muted">挺起胸膛往前走</span> <div>人类社会闹闹哄哄,乱七八糟,灯红酒绿,声色犬马,看上去无比的复杂。但认真一想,也不过是贫困者追求财富,富贵者追求享乐和刺激。基本上就是这么一点事儿。莫言《人类的好日子不多了》</div> </li> <li><a href="/article/1950225785054883840.htm" title="Java | 多线程经典问题 - 售票" target="_blank">Java | 多线程经典问题 - 售票</a> <span class="text-muted">Ada54</span> <div>一、售票需求1)同一个票池2)多个窗口卖票,不能出售同一张票二、售票问题代码实现(线程与进程小总结,请戳:Java|线程和进程,创建线程)step1:定义SaleWindow类实现Runnable接口,覆盖run方法step2:实例化SaleWindow对象,创建Thread对象,将SaleWindow作为参数传给Thread类的构造函数,然后通过Thread.start()方法启动线程step3</div> </li> <li><a href="/article/1950224132230672384.htm" title="氧惠官方邀请码333777,氧惠邀请码怎么获得?氧惠邀请码有什么套路?" target="_blank">氧惠官方邀请码333777,氧惠邀请码怎么获得?氧惠邀请码有什么套路?</a> <span class="text-muted">知行导师</span> <div>问:氧惠邀请码怎么获得?答:氧惠官方邀请码333777返点高佣金高真的高。问:氧惠邀请码有什么套路?答:氧惠官方邀请码333777返点高佣金高真的高。氧惠APP汇聚各大主流电商和生活服务平台优惠,展示全网全品类商品,满足网购爱好者对品质好货与极致性价比的追求,并同时享受大平台购物权益保障。满足用户日常吃喝玩乐衣食住行的聚合APP,独特的商业模式,响应国家号召,为实现全民共富而努力奋斗。氧惠邀请码3</div> </li> <li><a href="/article/1950223243570900992.htm" title="12张思维导图读懂《关键对话》" target="_blank">12张思维导图读懂《关键对话》</a> <span class="text-muted">蜜蜂学堂</span> <div>你一定遇到过下列情况:·向上司提出你精心设计的方案,却被泼了一头冷水。·要求下属加班,下属以沉默相对抗。·和家人谈“开源节流”,他却只当是耳边风。·要邻居遵守公德,对方却依然我行我素。·要你的另一半浪漫些,对方却还是像根木头一样。·请朋友还钱,朋友却总是找各种借口推托。当你遇到这些情况时,你是沉默以对,还是尖刻批评,抑或拍案而起?别觉得灰心丧气,因为大部分人都和你一样,在面对难以解决却又会对生活产</div> </li> <li><a href="/article/1950222990553706496.htm" title="可处理!环境排放3.0项目怎么提现?裕华投资会刘裕华免费荐股骗局曝光!" target="_blank">可处理!环境排放3.0项目怎么提现?裕华投资会刘裕华免费荐股骗局曝光!</a> <span class="text-muted">墨守成法</span> <div>骗子冒充裕华投资会刘裕华通过伪造或仿冒投资平台,向股民发送虚假环境排放3.0项目链接,引导股民者下载进行投资,以送一万体验金操作小额投资能提现作为诱饵,不断引导消费者加大资金投入。不法分子随后迅速转移资金,当投资者要提现时候就以“流水未完成”“登录异常”“服务器维护”“比赛未结束”等借口不让提现,直到平台关闭跑了或者完成流水任务为由一波亏完。在以翻本为借口继续让投资者加入资金。若你不幸遭遇到裕华投</div> </li> <li><a href="/article/1950222858454102016.htm" title="《路远连着天》 第二 章 在 路 上 7" target="_blank">《路远连着天》 第二 章 在 路 上 7</a> <span class="text-muted">亚宁</span> <div>大路镇的街道两旁尽是店铺,气派者是红门柱子雕花门窗,一般则多为布匹小百货店,还有几家门面朝外的车马大店,和一家颇有气势的典当铺。街上来往人还真不少,有挑担叫卖水果的,有背篓子路过的,还有衣冠楚楚,悠哉悠哉,甩着双手散步的有钱爷。耿六想着先寻姑妈家,还是先到兵营看那几个土匪呢?也只是一转念,他选择了后者,跟在几个闲人后,就来到了在镇外山头上曾看到过的那处飘着晴天白日旗的兵营门外。这里,围观的人乱哄哄</div> </li> <li><a href="/article/1950222852644990976.htm" title="模拟退火(SA):如何“故意走错路”,才能找到最优解?" target="_blank">模拟退火(SA):如何“故意走错路”,才能找到最优解?</a> <span class="text-muted">小瑞瑞acd</span> <a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%91%9E%E7%91%9E%E5%AD%A6%E6%95%B0%E6%A8%A1/1.htm">小瑞瑞学数模</a><a class="tag" taget="_blank" href="/search/%E6%A8%A1%E6%8B%9F%E9%80%80%E7%81%AB%E7%AE%97%E6%B3%95/1.htm">模拟退火算法</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%90%AF%E5%8F%91%E5%BC%8F%E7%AE%97%E6%B3%95/1.htm">启发式算法</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>模拟退火(SA):如何“故意走错路”,才能找到最优解?图示模拟退火算法如何通过接受较差解(橙色虚线标注)从局部最优(绿色点)逃逸,最终找到全局最优解(紫色点),展示其跳出局部极小值的能力。大家好,我是小瑞瑞!欢迎回到我的专栏!想象一下,你站在一座连绵不绝的山脉中,目标是找到海拔最低的那个山谷。你手上只有一个高度计,视野被浓雾笼罩,只能看清脚下的一小片区域。如果你是一个“贪心”的登山者,你的策略会非</div> </li> <li><a href="/article/1950220180864954368.htm" title="京东家电年销售额是去年的1300%,主要来自于他...." target="_blank">京东家电年销售额是去年的1300%,主要来自于他....</a> <span class="text-muted">Shanshan小课堂</span> <div>经过大半个月角逐纠缠,时间终于来到6月18日,618全球年中购物节迎来最高潮。作为国内最大的家电零售平台,京东家电从18日0点开始,便开启了飞速狂奔的模式,仅8分钟销售额就突破20亿元!展现出强劲的增长势头与家电主场的王者霸气的同时,也让各家电品牌实现了爆发式增长,美的、海尔、格力、奥克斯均在3分钟内突破1亿元大关。在今年的618中,除了消费者已经熟悉的网购形式外,线上线下联动的融合模式、社交电商</div> </li> <li><a href="/article/1950219924043526144.htm" title="二十四节气组诗 谷雨" target="_blank">二十四节气组诗 谷雨</a> <span class="text-muted">离陌_6639</span> <div>图片来源网络,若侵犯了你的权益,请联系我删除6.谷雨文/离陌背上行囊背上如行囊的我从此任行程马不停蹄今天家乡的田野春雨快马加鞭播下希望的种子观音不语目送着我和夏天一道在观音山出关图片来源网络,若侵犯了你的权益,请联系我删除你好啊,我是离陌,已然在懵懂中走过了16年的岁月,为了珍惜当下的每一秒,所以立志做一名终身学习者。文学对于我来说是一种信仰,诗歌是我的生命。人生之道,四通八达,即入文学,自当持之</div> </li> <li><a href="/article/1950219038072303616.htm" title="最佳好女婿赵倩王城(精彩热门小说)最佳好女婿赵倩王城&全集目录免费阅读" target="_blank">最佳好女婿赵倩王城(精彩热门小说)最佳好女婿赵倩王城&全集目录免费阅读</a> <span class="text-muted">海边书楼</span> <div>最佳好女婿赵倩王城(精彩热门小说)最佳好女婿赵倩王城&全集目录免费阅读主角:赵倩王城简介:女人叫赵倩,三十八岁,很漂亮,----阅读全文小说内容请翻阅文章最底部---王城根本没有想到,女友的妈妈在自乐的时候,叫的竟然是自己的名字。女人叫赵倩,三十八岁,很漂亮,腰很细,腿很长,王城有些怪异赵倩为什么会放过自己,但赵倩没有发怒,却也让王城长长的舒了一口气,坐到沙发上点了根烟抽了起来。“王城,什么时候回</div> </li> <li><a href="/article/1950218652724817920.htm" title="【 焦点咨询的“无为”】邹庆会,持续分享第690天,2020年1月23日" target="_blank">【 焦点咨询的“无为”】邹庆会,持续分享第690天,2020年1月23日</a> <span class="text-muted">邹庆会</span> <div>焦点课堂上,刘老师强调,焦点咨询师要“无为”,当时我就很困惑:我们“无为”,我们什么都不做,那来访者找我们做什么呢?那我们又怎么样来引领来访者呢?又怎么样让来访者在咨询当中有更多的收获呢?带着这个困惑,我逐渐在咨询中,包括在陪伴儿子的过程中,试着慢慢地放下期待、忘掉技术,寻找“无为”的感觉,寻找“无为”的痕迹,以及“无为”之后的一些效果的呈现。也慢慢的悟出一些自己的感受和体会。就像《道德经》中所说</div> </li> <li><a href="/article/1950218399846035456.htm" title="营销活动-大转盘" target="_blank">营销活动-大转盘</a> <span class="text-muted">無缺520</span> <div>写在前面最近,首先营销活动工具这块我是再熟悉不过了。曾经做了不下20个活动工具,然后通过监控活动数据反推活动的好坏。文中主要讲解幸运大转盘营销工具一.大转盘定义大转盘是比较常见的营销活动工具,它是通过消费者用户控制【开始/停止】操作获得奖品物品。用户在不知道自己能获得什么奖品的条件下,然后通过抽奖,大概率的获得未知的奖品。类似最近流行的盲盒玩法。二.为什么做大转盘大转盘是最常用的抽奖类的活动工具之</div> </li> <li><a href="/article/1950216170401492992.htm" title="常规笔记本和加固笔记本的区别" target="_blank">常规笔记本和加固笔记本的区别</a> <span class="text-muted">luchengtech</span> <a class="tag" taget="_blank" href="/search/%E7%94%B5%E8%84%91/1.htm">电脑</a><a class="tag" taget="_blank" href="/search/%E4%B8%89%E9%98%B2%E7%AC%94%E8%AE%B0%E6%9C%AC/1.htm">三防笔记本</a><a class="tag" taget="_blank" href="/search/%E5%8A%A0%E5%9B%BA%E8%AE%A1%E7%AE%97%E6%9C%BA/1.htm">加固计算机</a><a class="tag" taget="_blank" href="/search/%E5%8A%A0%E5%9B%BA%E7%AC%94%E8%AE%B0%E6%9C%AC/1.htm">加固笔记本</a> <div>在现代科技产品中,笔记本电脑因其便携性和功能性被广泛应用。根据使用场景和需求的不同,笔记本可分为常规笔记本和加固笔记本,二者在多个方面存在显著区别。适用场景是区分二者的重要标志。常规笔记本主要面向普通消费者和办公人群,适用于家庭娱乐、日常办公、学生学习等相对稳定的室内环境。比如,人们在家用它追剧、处理文档,学生在教室用它完成作业。而加固笔记本则专为特殊行业设计,像军事、野外勘探、工业制造、交通运输</div> </li> <li><a href="/article/1950215091567783936.htm" title="婴童医话(五百六十)" target="_blank">婴童医话(五百六十)</a> <span class="text-muted">妙手柯楠</span> <div>探天地清浊之源,察阴阳顺逆之机。“乳食过饱蓄胃中,乳片不化吐频频,身热面黄腹膨胀。”伤乳吐者,因乳食过饱,停蓄胃中,以致运化不及,吐多乳片,犹如物盛满而上溢也。其证身热面黄,肚腹膨胀。治宜化其宿乳,安胃和中,节其乳食,自然止也。“过食伤胃腹胀热,恶食口臭吐酸粘,眼胞虚浮身潮热。”伤食吐者,因小儿饮食无节,过食油腻、面食等物,以致壅塞中脘而成也,其证肚腹胀热,恶食口臭,频吐酸粘,眼胞虚浮,身体潮热。</div> </li> <li><a href="/article/1950214203994337280.htm" title="提升在直返APP中的等级:解锁更多特权与收益的秘诀" target="_blank">提升在直返APP中的等级:解锁更多特权与收益的秘诀</a> <span class="text-muted">古楼</span> <div>在直返APP的世界里,每个用户都渴望提升自己的等级,以解锁更多特权与收益。那么,如何提升在直返APP中的等级呢?接下来,我们将为您揭示这一秘密。【高省】APP(高佣金领导者)是一个自用省钱佣金高,分享推广赚钱多的平台,百度有几百万篇报道,运行三年,稳定可靠。高省APP,是2021年推出的平台,0投资,0风险、高省APP佣金更高,模式更好,终端用户不流失。高省是公认的返利最高的软件。古楼导师高省邀请</div> </li> <li><a href="/article/1950213690397618176.htm" title="【阳光️️☀️苑长 幸福365】7月9日《就此刻确知》" target="_blank">【阳光️️☀️苑长 幸福365】7月9日《就此刻确知》</a> <span class="text-muted">阳光苑长</span> <div>音频文字原创|阳光苑长图片发自App一夜的梦境,情景相当的壮烈,那是前前后后多个情节的叠加,那是因为极其在意在正义的,完满的,在早已经确认——万古之先已经确认了一切美好的事物当中。当有假象,当有一些不好的势力,试图想去破坏夺取的时候,在梦境中一直得力的征战,为着身边最挚爱的朋友,为他,为所有美好的事业而守望。守望,英文叫做watcher,就是观望者。图片发自App在这个毫不奇怪,事实上一直发生的征</div> </li> <li><a href="/article/1950213691718823936.htm" title="仿品百达翡丽男表价格(仿品百达翡丽价格一览表)" target="_blank">仿品百达翡丽男表价格(仿品百达翡丽价格一览表)</a> <span class="text-muted">爱表之家</span> <div>百达翡丽作为世界顶级的钟表品牌,其男表以精湛的工艺、卓越的品质和独特的设计赢得了众多钟表爱好者的青睐。然而,由于其高昂的价格,许多消费者转向仿品市场,以较低的价格体验类似的设计与风格【重要提醒】文章最下面有联系方式将对仿品百达翡丽男表的价格进行详细解析,帮助消费者更好地了解这一市场。一、仿品百达翡丽男表价格区间仿品百达翡丽男表的价格因其品质、材质、功能等因素而差异较大,大致可以分为以下几个价格区间</div> </li> <li><a href="/article/1950210629008683008.htm" title="京东中秋节会打折吗?京东中秋节活动力度大吗?" target="_blank">京东中秋节会打折吗?京东中秋节活动力度大吗?</a> <span class="text-muted">高省APP珊珊</span> <div>京东中秋节会打折,并且活动力度通常是比较大的。以下是具体分析:京东中秋节打折情况降价促销:京东在中秋节期间会推出大规模的降价促销活动,涵盖食品、家居、家电等多个品类,以及众多热门品牌。消费者可以在此期间享受到实实在在的降价优惠。多种优惠形式:除了直接的降价促销,京东还会通过满减优惠、折扣促销、限时秒杀等多种形式的优惠活动来吸引消费者。这些优惠活动通常具有较高的吸引力,能够激发消费者的购买欲望。目前</div> </li> <li><a href="/article/1950209621381672960.htm" title="Android 应用权限管理详解" target="_blank">Android 应用权限管理详解</a> <span class="text-muted"></span> <div>文章目录1.权限类型2.权限请求机制3.权限组和分级4.权限管理的演进5.权限监控和SELinux强制访问控制6.应用权限审核和GooglePlayProtect7.开发者最佳实践8.用户权限管理9.Android应用沙箱模型10.ScopedStorage(分区存储)11.背景位置权限(BackgroundLocationAccess)12.权限回收和自动清理13.权限请求的用户体验设计14.G</div> </li> <li><a href="/article/1950207097023033344.htm" title="Pktgen-DPDK:开源网络测试工具的深度解析与应用" target="_blank">Pktgen-DPDK:开源网络测试工具的深度解析与应用</a> <span class="text-muted">艾古力斯</span> <div>本文还有配套的精品资源,点击获取简介:Pktgen-DPDK是基于DPDK的高性能流量生成工具,适用于网络性能测试、硬件验证及协议栈开发。它支持多种网络协议,能够模拟高吞吐量的数据包发送。本项目通过利用DPDK的高速数据包处理能力,允许用户自定义数据包内容,并实现高效的数据包管理与传输。文章将指导如何安装DPDK、编译Pktgen、配置工具以及使用方法,最终帮助开发者和网络管理员深入理解并优化网络</div> </li> <li><a href="/article/1950207072004009984.htm" title="【备孕故事】她一直想做个大差不离的人,没想到在这件事上拔了尖儿" target="_blank">【备孕故事】她一直想做个大差不离的人,没想到在这件事上拔了尖儿</a> <span class="text-muted">宜嘉阿姨</span> <div>图片发自App杨婷说从小到大自己就是个中规中矩的人,不出格,不落单,一直随着大流。学业上从未出类拔萃,却也跟着大部队一起考上了一本;做事从不冒尖,搞个大差不离就行,因此,这么多年以来,差不多就行成了她对自己人生的要求。22岁大学毕业进了一家国企,外型不出挑但文静可人的她也遇上了两位追求者,简单的观察和交往后,她从中选了李广作为自己的婚恋对象。25岁那年,在父母亲朋的祝福声中杨婷和李广步入了婚姻。婚</div> </li> <li><a href="/article/1950206970766094336.htm" title="C++编程基础与面向对象概念解析" target="_blank">C++编程基础与面向对象概念解析</a> <span class="text-muted">侯昂</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%BC%96%E7%A8%8B/1.htm">面向对象编程</a><a class="tag" taget="_blank" href="/search/C%2B%2B%E8%AF%AD%E6%B3%95/1.htm">C++语法</a><a class="tag" taget="_blank" href="/search/%E5%87%BD%E6%95%B0/1.htm">函数</a><a class="tag" taget="_blank" href="/search/%E7%B1%BB%E4%B8%8E%E5%AF%B9%E8%B1%A1/1.htm">类与对象</a><a class="tag" taget="_blank" href="/search/%E7%BB%A7%E6%89%BF%E4%B8%8E%E5%A4%9A%E6%80%81%E6%80%A7/1.htm">继承与多态性</a> <div>C++编程基础与面向对象概念解析背景简介C++是一种广泛使用的面向对象编程语言,它允许开发者创建高效、灵活且功能强大的程序。本文基于《C++Primer》一书的章节内容,深入解析C++的核心概念和面向对象编程原则,旨在帮助读者构建扎实的C++编程基础。面向对象编程的原则软件危机与进化介绍了软件危机的产生和软件进化的必要性,强调了面向对象编程(OOP)在应对这些问题中的优势。面向对象编程范式讨论了面</div> </li> <li><a href="/article/1950206053383729152.htm" title="直返APP的创始人是谁他们的创业背景和经历如何?" target="_blank">直返APP的创始人是谁他们的创业背景和经历如何?</a> <span class="text-muted">氧惠帮朋友一起省</span> <div>直返的创始人是李明,他是一位富有创新精神的电商专家。他看到了传统电商模式的局限,并决心打破这些局限,为消费者带来更实惠、更便捷的购物体验。于是,他创立了直返这一独特的电商模式,通过省去中间环节、直接返还利润给消费者,实现了购物的简单与实惠。氧惠APP(带货领导者)——是与以往完全不同的抖客+淘客app!2024全新模式,我的直推也会放到你下面。主打:带货高补贴,深受各位带货团队长喜爱(每天出单带货</div> </li> <li><a href="/article/57.htm" title="多线程编程之join()方法" target="_blank">多线程编程之join()方法</a> <span class="text-muted">周凡杨</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/JOIN/1.htm">JOIN</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E7%A8%8B/1.htm">线程</a> <div>现实生活中,有些工作是需要团队中成员依次完成的,这就涉及到了一个顺序问题。现在有T1、T2、T3三个工人,如何保证T2在T1执行完后执行,T3在T2执行完后执行?问题分析:首先问题中有三个实体,T1、T2、T3, 因为是多线程编程,所以都要设计成线程类。关键是怎么保证线程能依次执行完呢?   Java实现过程如下: public class T1 implements Runnabl</div> </li> <li><a href="/article/184.htm" title="java中switch的使用" target="_blank">java中switch的使用</a> <span class="text-muted">bingyingao</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/enum/1.htm">enum</a><a class="tag" taget="_blank" href="/search/break/1.htm">break</a><a class="tag" taget="_blank" href="/search/continue/1.htm">continue</a> <div>java中的switch仅支持case条件仅支持int、enum两种类型。 用enum的时候,不能直接写下列形式。 switch (timeType) { case ProdtransTimeTypeEnum.DAILY: break; default: br</div> </li> <li><a href="/article/311.htm" title="hive having count 不能去重" target="_blank">hive having count 不能去重</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/%E5%8E%BB%E9%87%8D/1.htm">去重</a><a class="tag" taget="_blank" href="/search/having+count/1.htm">having count</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E6%95%B0/1.htm">计数</a> <div>hive在使用having count()是,不支持去重计数   hive (default)> select imei from t_test_phonenum where ds=20150701 group by imei having count(distinct phone_num)>1 limit 10;  FAILED: SemanticExcep</div> </li> <li><a href="/article/438.htm" title="WebSphere对JSP的缓存" target="_blank">WebSphere对JSP的缓存</a> <span class="text-muted">周凡杨</span> <a class="tag" taget="_blank" href="/search/WAS+JSP+%E7%BC%93%E5%AD%98/1.htm">WAS JSP 缓存</a> <div>      对于线网上的工程,更新JSP到WebSphere后,有时会出现修改的jsp没有起作用,特别是改变了某jsp的样式后,在页面中没看到效果,这主要就是由于websphere中缓存的缘故,这就要清除WebSphere中jsp缓存。要清除WebSphere中JSP的缓存,就要找到WAS安装后的根目录。        现服务</div> </li> <li><a href="/article/565.htm" title="设计模式总结" target="_blank">设计模式总结</a> <span class="text-muted">朱辉辉33</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>1.工厂模式   1.1 工厂方法模式 (由一个工厂类管理构造方法)      1.1.1普通工厂模式(一个工厂类中只有一个方法)      1.1.2多工厂模式(一个工厂类中有多个方法)      1.1.3静态工厂模式(将工厂类中的方法变成静态方法) &n</div> </li> <li><a href="/article/692.htm" title="实例:供应商管理报表需求调研报告" target="_blank">实例:供应商管理报表需求调研报告</a> <span class="text-muted">老A不折腾</span> <a class="tag" taget="_blank" href="/search/finereport/1.htm">finereport</a><a class="tag" taget="_blank" href="/search/%E6%8A%A5%E8%A1%A8%E7%B3%BB%E7%BB%9F/1.htm">报表系统</a><a class="tag" taget="_blank" href="/search/%E6%8A%A5%E8%A1%A8%E8%BD%AF%E4%BB%B6/1.htm">报表软件</a><a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%8C%96%E9%80%89%E5%9E%8B/1.htm">信息化选型</a> <div>引言 随着企业集团的生产规模扩张,为支撑全球供应链管理,对于供应商的管理和采购过程的监控已经不局限于简单的交付以及价格的管理,目前采购及供应商管理各个环节的操作分别在不同的系统下进行,而各个数据源都独立存在,无法提供统一的数据支持;因此,为了实现对于数据分析以提供采购决策,建立报表体系成为必须。 业务目标 1、通过报表为采购决策提供数据分析与支撑 2、对供应商进行综合评估以及管理,合理管理和</div> </li> <li><a href="/article/819.htm" title="mysql" target="_blank">mysql</a> <span class="text-muted">林鹤霄</span> <div>转载源:http://blog.sina.com.cn/s/blog_4f925fc30100rx5l.html mysql -uroot -p ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)   [root@centos var]# service mysql</div> </li> <li><a href="/article/946.htm" title="Linux下多线程堆栈查看工具(pstree、ps、pstack)" target="_blank">Linux下多线程堆栈查看工具(pstree、ps、pstack)</a> <span class="text-muted">aigo</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>原文:http://blog.csdn.net/yfkiss/article/details/6729364   1. pstree pstree以树结构显示进程$ pstree -p work | grep adsshd(22669)---bash(22670)---ad_preprocess(4551)-+-{ad_preprocess}(4552)  &n</div> </li> <li><a href="/article/1073.htm" title="html input与textarea 值改变事件" target="_blank">html input与textarea 值改变事件</a> <span class="text-muted">alxw4616</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>// 文本输入框(input) 文本域(textarea)值改变事件 // onpropertychange(IE) oninput(w3c) $('input,textarea').on('propertychange input', function(event) {      console.log($(this).val()) });   </div> </li> <li><a href="/article/1200.htm" title="String类的基本用法" target="_blank">String类的基本用法</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/String/1.htm">String</a> <div>  字符串的用法;     // 根据字节数组创建字符串 byte[] by = { 'a', 'b', 'c', 'd' }; String newByteString = new String(by);         1,length()  获取字符串的长度     &nbs</div> </li> <li><a href="/article/1327.htm" title="JDK1.5 Semaphore实例" target="_blank">JDK1.5 Semaphore实例</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">java多线程</a><a class="tag" taget="_blank" href="/search/Semaphore/1.htm">Semaphore</a> <div>Semaphore类        一个计数信号量。从概念上讲,信号量维护了一个许可集合。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。 S</div> </li> <li><a href="/article/1454.htm" title="使用GZip来压缩传输量" target="_blank">使用GZip来压缩传输量</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/GZip/1.htm">GZip</a> <div>        启动GZip压缩要用到一个开源的Filter:PJL Compressing Filter。这个Filter自1.5.0开始该工程开始构建于JDK5.0,因此在JDK1.4环境下只能使用1.4.6。         PJL Compressi</div> </li> <li><a href="/article/1581.htm" title="【Java范型三】Java范型详解之范型类型通配符" target="_blank">【Java范型三】Java范型详解之范型类型通配符</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>    定义如下一个简单的范型类,   package com.tom.lang.generics; public class Generics<T> { private T value; public Generics(T value) { this.value = value; } } </div> </li> <li><a href="/article/1708.htm" title="【Hadoop十二】HDFS常用命令" target="_blank">【Hadoop十二】HDFS常用命令</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a> <div>1. 修改日志文件查看器   hdfs oev -i edits_0000000000000000081-0000000000000000089 -o edits.xml cat edits.xml   修改日志文件转储为xml格式的edits.xml文件,其中每条RECORD就是一个操作事务日志   2. fsimage查看HDFS中的块信息等 &nb</div> </li> <li><a href="/article/1835.htm" title="怎样区别nginx中rewrite时break和last" target="_blank">怎样区别nginx中rewrite时break和last</a> <span class="text-muted">ronin47</span> <div>在使用nginx配置rewrite中经常会遇到有的地方用last并不能工作,换成break就可以,其中的原理是对于根目录的理解有所区别,按我的测试结果大致是这样的。 location /    {         proxy_pass http://test; </div> </li> <li><a href="/article/1962.htm" title="java-21.中兴面试题 输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 , 使其和等于 m" target="_blank">java-21.中兴面试题 输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 , 使其和等于 m</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div> import java.util.ArrayList; import java.util.List; import java.util.Stack; public class CombinationToSum { /* 第21 题 2010 年中兴面试题 编程求解: 输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 , 使其和等</div> </li> <li><a href="/article/2089.htm" title="eclipse svn 帐号密码修改问题" target="_blank">eclipse svn 帐号密码修改问题</a> <span class="text-muted">开窍的石头</span> <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/SVN/1.htm">SVN</a><a class="tag" taget="_blank" href="/search/svn%E5%B8%90%E5%8F%B7%E5%AF%86%E7%A0%81%E4%BF%AE%E6%94%B9/1.htm">svn帐号密码修改</a> <div>问题描述:      Eclipse的SVN插件Subclipse做得很好,在svn操作方面提供了很强大丰富的功能。但到目前为止,该插件对svn用户的概念极为淡薄,不但不能方便地切换用户,而且一旦用户的帐号、密码保存之后,就无法再变更了。 解决思路:      删除subclipse记录的帐号、密码信息,重新输入</div> </li> <li><a href="/article/2216.htm" title="[电子商务]传统商务活动与互联网的结合" target="_blank">[电子商务]传统商务活动与互联网的结合</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E7%94%B5%E5%AD%90%E5%95%86%E5%8A%A1/1.htm">电子商务</a> <div>       某一个传统名牌产品,过去销售的地点就在某些特定的地区和阶层,现在进入互联网之后,用户的数量群突然扩大了无数倍,但是,这种产品潜在的劣势也被放大了无数倍,这种销售利润与经营风险同步放大的效应,在最近几年将会频繁出现。。。。        如何避免销售量和利润率增加的</div> </li> <li><a href="/article/2343.htm" title="java 解析 properties-使用 Properties-可以指定配置文件路径" target="_blank">java 解析 properties-使用 Properties-可以指定配置文件路径</a> <span class="text-muted">cuityang</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/properties/1.htm">properties</a> <div>#mq xdr.mq.url=tcp://192.168.100.15:61618; import java.io.IOException; import java.util.Properties; public class Test { String conf = "log4j.properties"; private static final</div> </li> <li><a href="/article/2470.htm" title="Java核心问题集锦" target="_blank">Java核心问题集锦</a> <span class="text-muted">darrenzhu</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80/1.htm">基础</a><a class="tag" taget="_blank" href="/search/%E6%A0%B8%E5%BF%83/1.htm">核心</a><a class="tag" taget="_blank" href="/search/%E9%9A%BE%E7%82%B9/1.htm">难点</a> <div>注意,这里的参考文章基本来自Effective Java和jdk源码 1)ConcurrentModificationException 当你用for each遍历一个list时,如果你在循环主体代码中修改list中的元素,将会得到这个Exception,解决的办法是: 1)用listIterator, 它支持在遍历的过程中修改元素, 2)不用listIterator, new一个</div> </li> <li><a href="/article/2724.htm" title="1分钟学会Markdown语法" target="_blank">1分钟学会Markdown语法</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/markdown/1.htm">markdown</a> <div>markdown 简明语法 基本符号 *,-,+ 3个符号效果都一样,这3个符号被称为 Markdown符号 空白行表示另起一个段落 `是表示inline代码,tab是用来标记 代码段,分别对应html的code,pre标签 换行 单一段落( <p>) 用一个空白行 连续两个空格 会变成一个 <br> 连续3个符号,然后是空行</div> </li> <li><a href="/article/2851.htm" title="Gson使用二(GsonBuilder)" target="_blank">Gson使用二(GsonBuilder)</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/gson/1.htm">gson</a><a class="tag" taget="_blank" href="/search/GsonBuilder/1.htm">GsonBuilder</a> <div>转载请出自出处:http://eksliang.iteye.com/blog/2175473 一.概述     GsonBuilder用来定制java跟json之间的转换格式   二.基本使用 实体测试类: 温馨提示:默认情况下@Expose注解是不起作用的,除非你用GsonBuilder创建Gson的时候调用了GsonBuilder.excludeField</div> </li> <li><a href="/article/2978.htm" title="报ClassNotFoundException: Didn't find class "...Activity" on path: DexPathList" target="_blank">报ClassNotFoundException: Didn't find class "...Activity" on path: DexPathList</a> <span class="text-muted">gundumw100</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>有一个工程,本来运行是正常的,我想把它移植到另一台PC上,结果报: java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mobovip.bgr/com.mobovip.bgr.MainActivity}: java.lang.ClassNotFoundException: Didn't f</div> </li> <li><a href="/article/3105.htm" title="JavaWeb之JSP指令" target="_blank">JavaWeb之JSP指令</a> <span class="text-muted">ihuning</span> <a class="tag" taget="_blank" href="/search/javaweb/1.htm">javaweb</a> <div>  要点   JSP指令简介  page指令  include指令    JSP指令简介    JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。 JSP指令的基本语法格式: <%@ 指令 属性名="</div> </li> <li><a href="/article/3232.htm" title="mac上编译FFmpeg跑ios" target="_blank">mac上编译FFmpeg跑ios</a> <span class="text-muted">啸笑天</span> <a class="tag" taget="_blank" href="/search/ffmpeg/1.htm">ffmpeg</a> <div>1、下载文件:https://github.com/libav/gas-preprocessor, 复制gas-preprocessor.pl到/usr/local/bin/下, 修改文件权限:chmod 777 /usr/local/bin/gas-preprocessor.pl 2、安装yasm-1.2.0 curl http://www.tortall.net/projects/yasm</div> </li> <li><a href="/article/3359.htm" title="sql mysql oracle中字符串连接" target="_blank">sql mysql oracle中字符串连接</a> <span class="text-muted">macroli</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/SQL+Server/1.htm">SQL Server</a> <div>有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种资料库都有提供方法来达到这个目的: MySQL: CONCAT() Oracle: CONCAT(), || SQL Server: + CONCAT() 的语法如下: Mysql 中 CONCAT(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起。 请注意,Oracle的CON</div> </li> <li><a href="/article/3486.htm" title="Git fatal: unab SSL certificate problem: unable to get local issuer ce rtificate" target="_blank">Git fatal: unab SSL certificate problem: unable to get local issuer ce rtificate</a> <span class="text-muted">qiaolevip</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E6%B0%B8%E6%97%A0%E6%AD%A2%E5%A2%83/1.htm">学习永无止境</a><a class="tag" taget="_blank" href="/search/%E6%AF%8F%E5%A4%A9%E8%BF%9B%E6%AD%A5%E4%B8%80%E7%82%B9%E7%82%B9/1.htm">每天进步一点点</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/%E7%BA%B5%E8%A7%82%E5%8D%83%E8%B1%A1/1.htm">纵观千象</a> <div>// 报错如下: $ git pull origin master fatal: unable to access 'https://git.xxx.com/': SSL certificate problem: unable to get local issuer ce rtificate   // 原因: 由于git最新版默认使用ssl安全验证,但是我们是使用的git未设</div> </li> <li><a href="/article/3613.htm" title="windows命令行设置wifi" target="_blank">windows命令行设置wifi</a> <span class="text-muted">surfingll</span> <a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/wifi/1.htm">wifi</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0%E6%9C%ACwifi/1.htm">笔记本wifi</a> <div>还没有讨厌无线wifi的无尽广告么,还在耐心等待它慢慢启动么 教你命令行设置 笔记本电脑wifi: 1、开启wifi命令 netsh wlan set hostednetwork mode=allow ssid=surf8 key=bb123456 netsh wlan start hostednetwork pause 其中pause是等待输入,可以去掉 2、</div> </li> <li><a href="/article/3740.htm" title="Linux(Ubuntu)下安装sysv-rc-conf" target="_blank">Linux(Ubuntu)下安装sysv-rc-conf</a> <span class="text-muted">wmlJava</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/sysv-rc-conf/1.htm">sysv-rc-conf</a> <div>安装:sudo apt-get install sysv-rc-conf 使用:sudo sysv-rc-conf 操作界面十分简洁,你可以用鼠标点击,也可以用键盘方向键定位,用空格键选择,用Ctrl+N翻下一页,用Ctrl+P翻上一页,用Q退出。     背景知识 sysv-rc-conf是一个强大的服务管理程序,群众的意见是sysv-rc-conf比chkconf</div> </li> <li><a href="/article/3867.htm" title="svn切换环境,重发布应用多了javaee标签前缀" target="_blank">svn切换环境,重发布应用多了javaee标签前缀</a> <span class="text-muted">zengshaotao</span> <a class="tag" taget="_blank" href="/search/javaee/1.htm">javaee</a> <div>更换了开发环境,从杭州,改变到了上海。svn的地址肯定要切换的,切换之前需要将原svn自带的.svn文件信息删除,可手动删除,也可通过废弃原来的svn位置提示删除.svn时删除。   然后就是按照最新的svn地址和规范建立相关的目录信息,再将原来的纯代码信息上传到新的环境。然后再重新检出,这样每次修改后就可以看到哪些文件被修改过,这对于增量发布的规范特别有用。   检出</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>