Web学习之开篇

Web开发需要用到哪些技术?

这套系统介绍使用JavaScript来完成Web开发,我们在学习js之前需要了解一下相关HTML、CSS。
HTML:定义网页内容
CSS:描述网页的布局
JavaScript:网页的行为

HTML 学习

 HTML学习网站

  HTML不是编程语言,而是标记语言。类似Markdown一样也是标记语言(不要被吓到,这个语法很简单,此文就是Markdown写的)。
&empt; 注意先声明当前HTML版本,其次就通过标签内声明源文件,声明浏览器展示内容。
标签中通过声明文本标题、<meta>声明元数据,如定义王爷编码格式为utf-8等<br> <body>标签中涉及标题格式、段落格式<br> <a href="http://www.baidu.com"> 这是百度网地址 </a><br> <img src="/images/logo.png" width="258" height="39" /><br> <hr /> 画水平线<br> <font size="1">这是1号字体文本</font><br> <sub> 下标</sub> 和 <sup> 上标</sup><br> <head> 元素包含了所有的头部标签元素。在 <head>元素中你可以插入脚本(scripts), 样式文件(CSS),及各种meta信息。<br> 可以添加在头部区域的元素标签为: <title>, <style>, <meta>, <link>, <script>, <noscript> 和 <base>。<br> <link> 标签定义了文档与外部资源之间的关系。</p> <p><link rel="stylesheet" type="text/css" href="https://www.baidu.com/css/bcd<sub>bcmobile</sub>bcpc.9837752f.css"></p> <p>内联样式- 在HTML元素中使用"style" 属性<br> <p style="color:blue;margin-left:20px;">这是一个段落。</p><br> 内部样式表:</p> <pre><code><head> <style type="text/css"> body {background-color:yellow;} p {color:blue;} </style> </head> </code></pre> <p>外部样式表:</p> <pre><code><head> <link rel="stylesheet" type="text/css" href="mystyle.css"> </head> </code></pre> <p><table>表格标签<br> <tr>若干行<br> <td>单元格的内容</p> <pre><code><table border="1"> <tr> <td>row 1, cell 1</td> <td>row 1, cell 2</td> </tr> <tr> <td>row 2, cell 1</td> <td>row 2, cell 2</td> </tr> </table> </code></pre> <p><div>定义块级<br> <span>组合文档的行内元素,内联元素<br> <form> 表单标签 里面经常包含的元素有,input输入的文本域、密码字段、单选按钮、复选框、提交按钮</p> <h3>CSS 学习</h3> <p> CSS学习网站<br> CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明:<br> 选择器通常是您需要改变样式的 HTML 元素。<br> 每条声明由一个属性和一个值组成。<br> 在head标签中,通过style标签给不同的body、h、p等元素进行编辑。<br> css中id 选择器(指定特定id的样式)、class 选择器(指定一组元素的样式)<br> id是通过#来进行标记的<br> class通过一个点 . 来表示。也可以指定某个标签的所有元素使用某个样式例如:p.center。指定所有p元素使用<br> 外部样式表:很多页面时,外部样式表将是理想的选择<link rel="xxx"><br> 内部样式表:单个文档需要特殊的样式时,就应该使用内部样式表。< style ><br> 内联样式:内联样式会损失掉样式表的许多优势。请慎用这种方法<p style="color:sienna;margin-left:20px">这是一个段落。</p><br> 多重样式:<br> <strong>CSS盒子模型:</strong><br> Margin(外边距) - 清除边框外的区域,外边距是透明的。<br> Border(边框) - 围绕在内边距和内容外的边框。<br> Padding(内边距) - 清除内容周围的区域,内边距是透明的。<br> 总元素的宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距<br> <strong>重要:</strong> 当您指定一个 CSS 元素的宽度和高度属性时,你只是设置内容区域的宽度和高度。要知道,完整大小的元素,你还必须添加内边距,边框和边距。<br> <strong>border-style:</strong> 默认无边框 none</p> <h3>JavaScript 学习</h3> <p>JavaScript 学习网站</p> <p>document.getElementById("demo").innerHTML = "段落已修改。"; 插入元素内容<br> 请使用 document.write() 仅仅向文档输出写内容。<br> 如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖。</p> <pre><code>//button 添加点击事件 <button onclick="myFunction()"> <script> function myFunction() { document.write(Date()); } </script> </code></pre> <p>写到控制台<br> console.log(c);</p> <p>数组<br> [40, 100, 1, 5, 25, 10]</p> <p>对象<br> {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}</p> <p>函数<br> function myFunction(a, b) { return a * b;}</p> <p>变量<br> var x, length</p> <p>= + - * / 运算<br> == != < > 判断</p> <p><strong>JavaScript 语句</strong><br> JavaScript 语句是发给浏览器的命令。</p> <p><strong>JavaScript 代码</strong><br> 浏览器按照编写顺序依次执行每条语句。</p> <p><strong>JavaScript 代码块</strong><br> JavaScript 可以分批地组合起来。<br> 代码块以左花括号开始,以右花括号结束。<br> 代码块的作用是一并地执行语句序列。</p> <p><strong>JavaScript 语句标识符</strong><br> try 实现错误处理,与 catch 一同使用。<br> catch 语句块,在 try 语句块执行出错时执行 catch 语句块。</p> <p>您可以在文本字符串中使用反斜杠对代码行进行换行</p> <p>提示:JavaScript 是脚本语言。浏览器会在读取代码时,逐行地执行脚本代码。而对于传统编程来说,会在执行前对所有代码进行编译。</p> <p>注释<br> 注释用于阻止其中一条代码行的执行(可用于调试)</p> <p><strong>JavaScript 数据类型</strong><br> 值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。<br> 引用数据类型:对象(Object)、数组(Array)、函数(Function)。</p> <p><strong>JavaScript 对象</strong><br> 在 JavaScript中,几乎所有的事物都是对象。</p> <p>var person = {<br> firstName: "John",<br> lastName : "Doe",<br> id : 5566,<br> fullName : function()<br> {<br> return this.firstName + " " + this.lastName;<br> }<br> };</p> <p>对象属性<br> JavaScript 对象是键值对的容器</p> <p>访问对象属性<br> name=person.lastname;<br> 或<br> name=person["lastname"];</p> <p>访问对象方法<br> objectName.methodName()</p> <p><strong>JavaScript 函数</strong><br> 函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。</p> <p>带参数函数 myFunction(argument1,argument2)</p> <p><strong>带有返回值的函数</strong><br> 函数将值返回调用它的地方</p> <pre><code>function myFunction() { var x=5; return x; } </code></pre> <p>注意: 整个 JavaScript 并不会停止执行,仅仅是函数。JavaScript 将继续执行代码,从调用函数的地方。</p> <p>仅仅希望退出函数时 ,也可使用 return 语句</p> <p><strong>局部 JavaScript 变量</strong><br> 在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。<br> 您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。<br> 只要函数运行完毕,本地变量就会被删除。</p> <p><strong>全局 JavaScript 变量</strong><br> 在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。</p> <p><strong>JavaScript 作用域</strong><br> 在 JavaScript 中, 对象和函数同样也是变量。<br> 在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。<br> JavaScript 函数作用域: 作用域在函数内修改。</p> <p>变量在函数内声明,变量为局部作用域。<br> 局部变量:只能在函数内部访问。<br> 因为局部变量只作用于函数内,所以不同的函数可以使用相同名称的变量。<br> 局部变量在函数开始执行时创建,函数执行完后局部变量会自动销毁。</p> <p><strong>JavaScript 全局变量</strong><br> 变量在函数外定义,即为全局变量。<br> 全局变量有 全局作用域: 网页中所有脚本和函数均可使用。</p> <p>如果变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量。<br> 以下实例中 carName 在函数内,但是为全局变量。</p> <pre><code>// 此处可调用 carName 变量 function myFunction() { carName = "Volvo"; // 此处可调用 carName 变量 } </code></pre> <p><strong>JavaScript 事件</strong><br> HTML 事件是发生在 HTML 元素上的事情。<br> 当在 HTML 页面中使用 JavaScript 时, JavaScript 可以触发这些事件。</p> <p><strong>HTML 事件</strong><br> HTML 事件可以是浏览器行为,也可以是用户行为。</p> <p>事件:<br> HTML 页面完成加载<br> HTML input 字段改变时<br> HTML 按钮被点击</p> <p>可以做的事情。在事件触发时 JavaScript 可以执行一些代码。<br> HTML 元素中可以添加事件属性,使用 JavaScript 代码来添加 HTML 元素。</p> <p><code><some-HTML-element some-event='JavaScript 代码'></code><br> 或者 双引号<br> <code><some-HTML-element some-event="JavaScript 代码"></code></p> <p>举例:<br> JavaScript 代码将修改 id="demo" 元素的内容。<br> <code><button onclick="getElementById('demo').innerHTML=Date()">现在的时间是?</button></code></p> <p>修改自身元素的内容 (使用 this.innerHTML):<br> <code><button onclick="this.innerHTML=Date()">现在的时间是?</button></code></p> <p><strong>常见的HTML事件</strong><br> onchange -----> HTML 元素改变<br> onclick -----> 用户点击 HTML 元素<br> onmouseover ----> 用户在一个HTML元素上移动鼠标<br> onmouseout ----> 用户从一个HTML元素上移开鼠标<br> onkeydown -----> 用户按下键盘按键<br> onload -----> 浏览器已完成页面的加载</p> <p><strong>JavaScript 可以做什么?</strong><br> 事件可以用于处理表单验证,用户输入,用户行为及浏览器动作:</p> <ul> <li>页面加载时触发事件</li> <li>页面关闭时触发事件</li> <li>用户点击按钮执行动作</li> <li>验证用户输入内容的合法性</li> <li>等等 ...</li> </ul> <p>可以使用多种方法来执行 JavaScript 事件代码:</p> <ul> <li>HTML 事件属性可以直接执行 JavaScript 代码</li> <li>HTML 事件属性可以调用 JavaScript 函数</li> <li>你可以为 HTML 元素指定自己的事件处理程序</li> </ul> <p><strong>JavaScript 字符串</strong></p> <p>字符串长度:<br> 可以使用内置属性 length 来计算字符串的长度:</p> <p>特殊字符<br> 因为这样,以下实例 JavaScript 无法解析:<br> "We are the so-called "Vikings" from the north."</p> <p>可以使用反斜杠 () 来转义 "Vikings" 字符串中的双引号,如下:<br> "We are the so-called "Vikings" from the north."<br> charAt() ---> 返回指定索引位置的字符<br> charCodeAt() ---> 返回指定索引位置字符的 Unicode 值<br> concat() ---> 连接两个或多个字符串,返回连接后的字符串<br> fromCharCode() ---> 将 Unicode 转换为字符串<br> indexOf() ---> 返回字符串中检索指定字符第一次出现的位置<br> lastIndexOf() ---> 返回字符串中检索指定字符最后一次出现的位置<br> localeCompare() ---> 用本地特定的顺序来比较两个字符串<br> match() ---> 找到一个或多个正则表达式的匹配<br> replace() ---> 替换与正则表达式匹配的子串<br> search() ---> 检索与正则表达式相匹配的值<br> slice() ---> 提取字符串的片断,并在新的字符串中返回被提取的部分<br> split() ---> 把字符串分割为子字符串数组<br> substr() ---> 从起始索引号提取字符串中指定数目的字符<br> substring() ---> 提取字符串中两个指定的索引号之间的字符<br> toLocaleLowerCase() ---> 根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射<br> toLowerCase() ---> 把字符串转换为小写<br> toString() ---> 返回字符串对象值<br> toUpperCase() ---> 把字符串转换为大写<br> trim() ---> 移除字符串首尾空白<br> valueOf() ----> 返回某个字符串对象的原始值</p> <p><strong>JavaScript 运算符</strong></p> <ul> <li> <ul> <li> <ul> <li>/ % ++ --</li> </ul></li> </ul></li> </ul> <p>用于字符串的 + 运算符<br> 如需把两个或多个字符串变量连接起来,请使用 + 运算符:</p> <p>或者把空格插入表达式中:<br> txt3=txt1+" "+txt2;</p> <p>对字符串和数字进行加法运算<br> 两个数字相加,返回数字相加的和,如果数字与字符串相加,返回字符串,如下实例:<br> x=5+5;<br> y="5"+5;<br> z="Hello"+5;</p> <p>10<br> 55<br> Hello5</p> <p><strong>JavaScript 比较 和 逻辑运算符</strong><br> 比较和逻辑运算符用于测试 true 或者 false。</p> <p>比较运算符</p> <p>== 等于<br> === 绝对等于(值和类型均相等)<br> != 不等于<br> !== 不绝对等于(值和类型有一个不相等,或两个都不相等)</p> <blockquote> <p>大于<br> < 小于<br> = 大于或等于<br> <= 小于或等于</p> </blockquote> <p>逻辑运算符<br> && || !</p> <p>条件运算符<br> voteable=(age<18)?"年龄太小":"年龄已达到";</p> <p><strong>JavaScript if...Else 语句</strong><br> if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码<br> if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码<br> if...else if....else 语句- 使用该语句来选择多个代码块之一来执行<br> switch 语句 - 使用该语句来选择多个代码块之一来执行</p> <p>JavaScript switch 语句<br> 工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用 break 来阻止代码自动地向下一个 case 运行。</p> <pre><code>var d=new Date().getDay(); switch (d) { case 0:x="今天是星期日"; break; case 1:x="今天是星期一"; break; case 2:x="今天是星期二"; break; case 3:x="今天是星期三"; break; case 4:x="今天是星期四"; break; case 5:x="今天是星期五"; break; case 6:x="今天是星期六"; break; } </code></pre> <p>default 关键词<br> 使用 default 关键词来规定匹配不存在时做的事情:</p> <pre><code>var d=new Date().getDay(); switch (d) { case 6:x="今天是星期六"; break; case 0:x="今天是星期日"; break; default: x="期待周末"; } document.getElementById("demo").innerHTML=x; </code></pre> <p><strong>JavaScript for 循环</strong></p> <pre><code>for (var i=0;i<cars.length;i++) { document.write(cars[i] + "<br>"); } </code></pre> <p><strong>不同类型的循环</strong></p> <ul> <li>for - 循环代码块一定的次数</li> <li>for/in - 循环遍历对象的属性</li> <li>while - 当指定的条件为 true 时循环指定的代码块</li> <li>do/while - 同样当指定的条件为 true 时循环指定的代码块</li> </ul> <pre><code>for (var i=0,len=cars.length; i<len; i++) { document.write(cars[i] + "<br>"); } </code></pre> <ul> <li>for/in - 循环遍历对象的属性,只是遍历对象内部的属性</li> </ul> <pre><code> var x; var txt=""; var person={fname:"Bill",lname:"Gates",age:56}; for (x in person){ txt=txt + person[x]; } document.getElementById("demo").innerHTML=txt; </code></pre> <ul> <li>while - 当指定的条件为 true 时循环指定的代码块</li> </ul> <pre><code>while (i<5) { x=x + "The number is " + i + "<br>"; i++; } </code></pre> <ul> <li>do/while - 同样当指定的条件为 true 时循环指定的代码块</li> </ul> <pre><code> var x="",i=0; do{ x=x + "该数字为 " + i + "<br>"; i++; } while (i<5) document.getElementById("demo").innerHTML=x; </code></pre> <p><strong>JavaScript break 和 continue 语句</strong><br> break 语句用于跳出循环。<br> continue 用于跳过循环中的一个迭代。</p> <p><strong>JavaScript 标签</strong><br> 如需标记 JavaScript 语句,请在语句之前加上冒号:</p> <pre><code>label: statements </code></pre> <pre><code><script> cars=["BMW","Volvo","Saab","Ford"]; list:{ document.write(cars[0] + "<br>"); break list; document.write(cars[1] + "<br>"); document.write(cars[2] + "<br>"); document.write(cars[3] + "<br>"); document.write(cars[4] + "<br>"); document.write(cars[5] + "<br>"); } </script> </code></pre> <p><strong>JavaScript typeof, null, 和 undefined</strong></p> <p>null是一个只有一个值的特殊类型。表示一个空对象引用。<br> var person = null; // 值为 null(空), 但类型为对象</p> <p>你可以设置为 undefined 来清空对象:<br> var person = undefined; // 值为 undefined, 类型为 undefined</p> <p>undefined 是一个没有设置值的变量。<br> 任何变量都可以通过设置值为 undefined 来清空。 类型为 undefined.</p> <p>null 和 undefined 的值相等,但类型不等:</p> <p>你可以使用 constructor 属性来查看对象是否为数组 (包含字符串 "Array"):<br> <code>return myArray.constructor.toString().indexOf("Array") > -1;</code></p> <p><strong>将数字转换为字符串</strong><br> String(x) // 将变量 x 转换为字符串并返回</p> <p>Number 方法 toString() 也是有同样的效果。<br> x.toString()<br> (123).toString()</p> <p>Date 方法<br> 将字符串转换为数字<br> Number("3.14") // 返回 3.14<br> Number 方法</p> <p>一元运算符 +<br> Operator + 可用于将变量转换为数字:</p> <p>将布尔值转换为数字<br> Number(false) // 返回 0<br> Number(true) // 返回 1</p> <p>d = new Date();<br> Number(d) // 返回 1404568027739<br> 日期方法 getTime() 也有相同的效果。</p> <p><strong>JavaScript 正则表达式</strong><br> 正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。<br> 搜索模式可用于文本搜索和文本替换。</p> <p><strong>什么是正则表达式?</strong><br> 正则表达式是由一个字符序列形成的搜索模式。<br> 当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。<br> 正则表达式可以是一个简单的字符,或一个更复杂的模式。<br> 正则表达式可用于所有文本搜索和文本替换的操作。</p> <p><strong>语法</strong><br> /正则表达式主体/修饰符(可选)<br> var patt = /runoob/i</p> <p>/runoob/i 是一个正则表达式。<br> runoob 是一个正则表达式主体 (用于检索)。<br> i 是一个修饰符 (搜索不区分大小写)。</p> <p>在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。</p> <p>search() 方法使用正则表达式</p> <pre><code> var str = "Visit Runoob!"; var n = str.search(/Runoob/i); document.getElementById("demo").innerHTML = n; </code></pre> <p>search() 方法使用字符串</p> <pre><code> var str = "Visit Runoob!"; var n = str.search("Runoob"); document.getElementById("demo").innerHTML = n; </code></pre> <p>replace() 方法使用正则表达式</p> <pre><code> var str = document.getElementById("demo").innerHTML; var txt = str.replace(/microsoft/i,"Runoob"); document.getElementById("demo").innerHTML = txt; </code></pre> <p>replace() 方法使用正则表达式</p> <pre><code> var str = document.getElementById("demo").innerHTML; var txt = str.replace(/microsoft/i,"Runoob"); document.getElementById("demo").innerHTML = txt; </code></pre> <p><strong>JavaScript 错误 - throw、try 和 catch</strong><br> try 语句测试代码块的错误。<br> catch 语句处理错误。<br> throw 语句创建自定义错误。<br> finally 语句在 try 和 catch 语句之后,无论是否有触发异常,该语句都会执行。</p> <p><strong>JavaScript try 和 catch</strong><br> catch 块会捕捉到 try 块中的错误,并执行代码来处理它。</p> <pre><code> try { adddlert("Welcome guest!"); } catch(err) { txt="本页有一个错误。\n\n"; txt+="错误描述:" + err.message + "\n\n"; txt+="点击确定继续。\n\n"; alert(txt); } </code></pre> <p>finally 语句<br> finally 语句不论之前的 try 和 catch 中是否产生异常都会执行该代码块。</p> <p>Throw 语句<br> throw 语句允许我们创建自定义错误。<br> 如果把 throw 与 try 和 catch 一起使用,那么您能够控制程序流,并生成自定义的错误消息。</p> <pre><code>function myFunction() { var message, x; message = document.getElementById("message"); message.innerHTML = ""; x = document.getElementById("demo").value; try { if(x == "") throw "值为空"; if(isNaN(x)) throw "不是数字"; x = Number(x); if(x < 5) throw "太小"; if(x > 10) throw "太大"; } catch(err) { message.innerHTML = "错误: " + err; } } </code></pre> <p><strong>JavaScript 调试工具</strong><br> 浏览器启用调试工具一般是按下 F12 键,并在调试菜单中选择 "Console" 。<br> mac 调起是按 option+command+i</p> <p><strong>console.log() 方法</strong><br> 如果浏览器支持调试,你可以使用 console.log() 方法在调试窗口上打印 JavaScript 值</p> <p><strong>设置断点</strong><br> 在调试窗口中,你可以设置 JavaScript 代码的断点。<br> 在每个断点上,都会停止执行 JavaScript 代码,以便于我们检查 JavaScript 变量的值。<br> 在检查完毕后,可以重新执行代码(如播放按钮)。</p> <p><strong>debugger 关键字</strong><br> debugger 关键字用于停止执行 JavaScript,并调用调试函数。<br> 注意前提条件: 调试环境</p> <p><strong>Undefined 不是 Null</strong><br> 在 JavaScript 中, null 用于对象, undefined 用于变量,属性和方法。<br> 对象只有被定义才有可能为 null,否则为 undefined。<br> 如果我们想测试对象是否存在,在对象还没定义时将会抛出一个错误。<br> <code>if (typeof myObj !== "undefined" && myObj !== null)</code></p> <p><strong>JavaScript 表单</strong><br> HTML 表单验证可以通过 JavaScript 来完成。<br> 以下实例代码用于判断表单字段(fname)值是否存在, 如果不存在,就弹出信息,阻止表单提交:</p> <pre><code><html> <head> <meta charset="utf-8"> <script> function validateForm() { var x = document.forms["myForm"]["fname"].value; if (x == null || x == "") { alert("需要输入名字。"); return false; } } </script> </head> <body> <form name="myForm" action="demo_form.php" onsubmit="return validateForm()" method="post"> 名字: <input type="text" name="fname"> <input type="submit" value="提交"> </form> </body> </html> </code></pre> <p><strong>数据验证</strong><br> <strong>服务端数据验证</strong>是在数据提交到服务器上后再验证。<br> <strong>客户端数据验证</strong>是在数据发送到服务器前,在浏览器上完成验证。</p> <p><strong>HTML 约束验证</strong><br> 约束验证是表单被提交时浏览器用来实现验证的一种算法。<br> HTML 输入属性<br> CSS 伪类选择器<br> DOM 属性和方法</p> <p>有关的查:HTML 输入属性<br> 有关的查: CSS 伪类</p> <p><strong>JavaScript 表单验证</strong><br> JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。</p> <ul> <li>验证表单数据是否为空?</li> <li>验证输入是否是一个正确的email地址?</li> <li>验证日期是否输入正确?</li> <li>验证表单输入内容是否为数字型?</li> </ul> <p><strong>JavaScript 验证 API</strong><br> 约束验证 DOM 方法:<br> checkValidity() ---> 如果 input 元素中的数据是合法的返回 true,否则返回 false。</p> <p>setCustomValidity() --->设置 input 元素的 validationMessage 属性,用于自定义错误提示信息的方法。<br> 使用 setCustomValidity 设置了自定义提示后,validity.customError 就会变成true,则 checkValidity 总是会返回false。如果要重新判断需要取消自定义提示.</p> <p><strong>约束验证 DOM 属性</strong><br> validity<br> validationMessage<br> willValidate</p> <p><strong>Validity 属性</strong><br> customError ---> 设置为 true, 如果设置了自定义的 validity 信息。<br> patternMismatch ---> 设置为 true, 如果元素的值不匹配它的模式属性。<br> rangeOverflow ---> 设置为 true, 如果元素的值大于设置的最大值。<br> rangeUnderflow ---> 设置为 true, 如果元素的值小于它的最小值。<br> stepMismatch ---> 设置为 true, 如果元素的值不是按照规定的 step 属性设置。<br> tooLong ---> 设置为 true, 如果元素的值超过了 maxLength 属性设置的长度。<br> typeMismatch ---> 设置为 true, 如果元素的值不是预期相匹配的类型。<br> valueMissing ---> 设置为 true,如果元素 (required 属性) 没有值。<br> valid ---> 设置为 true,如果元素的值是合法的。</p> <p><strong>JavaScript this 关键字</strong><br> 面向对象语言中 this 表示当前对象的一个引用。<br> 但在 JavaScript 中 this 不是固定不变的,它会随着执行环境的改变而改变。</p> <ul> <li>在方法中,this 表示该方法所属的对象。</li> <li>如果单独使用,this 表示全局对象。</li> <li>在函数中,this 表示全局对象。</li> <li>在函数中,在严格模式下,this 是未定义的(undefined)。</li> <li>在事件中,this 表示接收事件的元素。</li> <li>类似 call() 和 apply() 方法可以将 this 引用到任何对象。</li> </ul> <p>方法中的 this<br> 在对象方法中, this 指向调用它所在方法的对象。 下面代码中this指向的是person</p> <pre><code>var person = { firstName: "John", lastName : "Doe", id : 5566, fullName : function() { return this.firstName + " " + this.lastName; } }; </code></pre> <p>单独使用 this<br> 单独使用 this,则它指向全局(Global)对象。<br> 在浏览器中,window 就是该全局对象为 [object Window]:</p> <pre><code><script> var x = this; document.getElementById("demo").innerHTML = x; </script> </code></pre> <p>函数中使用 this(默认)<br> 在函数中,函数的所属者默认绑定到 this 上。<br> 在浏览器中,window 就是该全局对象为 [object Window]:</p> <pre><code><script> document.getElementById("demo").innerHTML = myFunction(); function myFunction() { return this; } </script> </code></pre> <p>函数中使用 this(严格模式)<br> 严格模式下函数是没有绑定到 this 上,这时候 this 是 undefined。</p> <p>事件中的 this<br> 在 HTML 事件句柄中,this 指向了接收事件的 HTML 元素:<br> <code><button onclick="this.style.display='none'">点我后我就消失了</button></code></p> <p>对象方法中绑定<br> this 是 person 对象,person 对象是函数的所有者</p> <p>显式函数绑定<br> 在 JavaScript 中函数也是对象,对象则有方法,apply 和 call 就是函数对象的方法。这两个方法异常强大,他们允许切换函数执行的上下文环境(context),即 this 绑定的对象。<br> 在下面实例中,当我们使用 person2 作为参数来调用 person1.fullName 方法时, this 将指向 person2, 即便它是 person1 的方法:</p> <pre><code>var person1 = { fullName: function() { return this.firstName + " " + this.lastName; } } var person2 = { firstName:"John", lastName: "Doe", } person1.fullName.call(person2); // 返回 "John Doe" </code></pre> <p><strong>JavaScript let 和 const</strong><br> let 声明的变量只在 let 命令所在的代码块内有效。<br> const 声明一个只读的常量,一旦声明,常量的值就不能改变。<br> 函数内使用 var 声明的变量只能在函数内容访问,如果不使用 var 则是全局变量。</p> <p><strong>JavaScript JSON</strong><br> JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)<br> JSON 通常用于服务端向网页传递数据 。</p> <p>JSON 语法规则</p> <ul> <li>数据为 键/值 对。</li> <li>数据由逗号分隔。</li> <li>大括号保存对象</li> <li>方括号保存数组</li> </ul> <p><strong>JSON 字符串转换为 JavaScript 对象</strong><br> 首先,创建 JavaScript 字符串,字符串为 JSON 格式的数据:<br> 然后,使用 JavaScript 内置函数 JSON.parse() 将字符串转换为 JavaScript 对象:</p> <pre><code>var text = '{ "sites" : [' + '{ "name":"Runoob" , "url":"www.runoob.com" },' + '{ "name":"Google" , "url":"www.google.com" },' + '{ "name":"Taobao" , "url":"www.taobao.com" } ]}'; var obj = JSON.parse(text); document.getElementById("demo").innerHTML = obj.sites[1].name + " " + obj.sites[1].url; </code></pre> <p>相关参数<br> JSON.parse() ----> 用于将一个 JSON 字符串转换为 JavaScript 对象。<br> JSON.stringify() ---> 用于将 JavaScript 值转换为 JSON 字符串。</p> <p><strong>javascript:void(0) 含义</strong><br> 该操作符指定要计算一个表达式但是不返回值</p> <p>void()仅仅是代表不返回任何值,但是括号内的表达式还是要运行,如<br> void(alert("Warnning!"))</p> <p><strong>JavaScript 异步编程</strong><br> 异步:异步就是从主线程发射一个子线程来完成任务</p> <p>子线程有一个局限:一旦发射了以后就会与主线程失去同步,我们无法确定它的结束,如果结束之后需要处理一些事情,比如处理来自服务器的信息,我们是无法将它合并到主线程中去的。<br> 为了解决这个问题,JavaScript 中的异步操作函数往往通过回调函数来实现异步任务的结果处理。</p> <p><strong>回调函数</strong><br> 回调函数就是一个函数,它是在我们启动一个异步任务的时候就告诉它:等你完成了这个任务之后要干什么。这样一来主线程几乎不用关心异步任务的状态了,他自己会善始善终。</p> <pre><code>function print() { document.getElementById("demo").innerHTML="RUNOOB!"; } setTimeout(print, 3000); </code></pre> <p>这段程序中的 setTimeout 就是一个消耗时间较长(3 秒)的过程,它的第一个参数是个回调函数,第二个参数是毫秒数,这个函数执行之后会产生一个子线程,子线程会等待 3 秒,然后执行回调函数 "print",在命令行输出 "Time out"。<br> 在 setTimeout 函数执行之后主线程并没有停止</p> <p><strong>异步 AJAX</strong><br> XMLHttpRequest 的 onload 和 onerror 属性都是函数,分别在它请求成功和请求失败时被调用。</p> <p>GET 请求</p> <pre><code>xmlhttp.open("GET","/try/ajax/demo_get.php",true); xmlhttp.send(); </code></pre> <p>在上面的例子中,您可能得到的是缓存的结果。<br> 为了避免这种情况,请向 URL 添加一个唯一的 ID:</p> <pre><code>xmlhttp.open("GET","/try/ajax/demo_get.php?t=" + Math.random(),true); xmlhttp.send(); </code></pre> <p>POST 请求</p> <pre><code>xmlhttp.open("POST","/try/ajax/demo_post.php",true); xmlhttp.send(); </code></pre> <pre><code>xmlhttp.open("POST","/try/ajax/demo_post2.php",true); xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlhttp.send("fname=Henry&lname=Ford"); </code></pre> <p><strong>JavaScript Promise</strong><br> Promise:目的是更加<strong>优雅地书写复杂的异步任务</strong><br> 构建Promise 对象:</p> <pre><code>new Promise(function (resolve, reject) { // 要做的事情... }); </code></pre> <p>Promise 可以将嵌套格式的代码变成了顺序格式的代码</p> <p><strong>Promise 的使用</strong><br> Promise 构造函数只有一个参数,是一个函数,这个函数在构造之后会直接被异步运行,所以我们称之为起始函数。起始函数包含两个参数 resolve 和 reject。<br> 当 Promise 被构造时,起始函数会被异步执行:</p> <pre><code>new Promise(function (resolve, reject) { console.log("Run"); }); </code></pre> <p>这段程序会直接输出 Run。<br> resolve 和 reject 都是函数,其中调用 resolve 代表一切正常,reject 是出现异常时所调用的</p> <pre><code>new Promise(function (resolve, reject) { var a = 0; var b = 1; if (b == 0) reject("Diveide zero"); else resolve(a / b); }).then(function (value) { console.log("a / b = " + value); }).catch(function (err) { console.log(err); }).finally(function () { console.log("End"); }); </code></pre> <p>Promise 类有 .then() .catch() 和 .finally() 三个方法,这三个方法的参数都是一个函数,.then() 可以将参数中的函数添加到当前 Promise 的正常执行序列,.catch() 则是设定 Promise 的异常处理序列,.finally() 是在 Promise 执行的最后一定会执行的序列。 .then() 传入的函数会按顺序依次执行,有任何异常都会直接跳到 catch 序列:</p> <p><strong>Q: 什么时候适合用 Promise 而不是传统回调函数?</strong><br> A: 当需要<strong>多次顺序执行异步操作</strong>的时候,例如,如果想通过异步方法先后检测用户名和密码,需要先异步检测用户名,然后再异步检测密码的情况下就很适合 Promise。</p> <p><strong>函数表达式</strong></p> <p>JavaScript 函数可以通过一个表达式定义。<br> 函数表达式可以存储在变量中:<br> 以下函数实际上是一个 匿名函数 (函数没有名称)。<br> 函数存储在变量中,不需要函数名称,通常通过变量名来调用。</p> <pre><code>var x = function (a, b) {return a * b}; var z = x(4, 3); </code></pre> <p><strong>arguments 对象</strong><br> JavaScript 函数有个内置的对象 arguments 对象。<br> argument 对象包含了函数调用的参数数组。<br> 通过这种方式你可以很方便的找到最大的一个参数的值</p> <p>在函数中调用的参数是函数的隐式参数。<br> 隐式参数的改变在函数外是不可见的。</p> <p>call() 和 apply() 是预定义的函数方法。 两个方法可用于调用函数,两个方法的第一个参数必须是对象本身。</p> <pre><code><script> var myObject; function myFunction(a, b) { return a * b; } myObject = myFunction.call(myObject, 10, 2); // 返回 20 document.getElementById("demo").innerHTML = myObject; </script> </code></pre> <pre><code><script> var myObject, myArray; function myFunction(a, b) { return a * b; } myArray = [10, 2] myObject = myFunction.apply(myObject, myArray); // 返回 20 document.getElementById("demo").innerHTML = myObject; </script> </code></pre> <p>两个方法都使用了对象本身作为第一个参数。 两者的区别在于第二个参数: apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入,而call则作为call的参数传入(从第二个参数开始)。</p> <p><strong>this 笔记</strong><br> this 是 JavaScript 语言的一个关键字。<br> 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如:</p> <pre><code>function test() { this.x = 1; } </code></pre> <p>变量声明时如果不使用 var 关键字,那么它就是一个全局变量,即便它在函数内定义。</p> <p>JavaScript支持嵌套函数,内部函数可以访问父函数的变量。</p> <p><strong>JavaScript 闭包</strong><br> 什么叫闭包,闭包有什么用</p> <pre><code>function aaa() { var a = 5; function bbb() { alert(a) } return bbb } var c = aaa(); c(); </code></pre> <pre><code><script> var add = (function () { var counter = 0; return function () {return counter += 1;} })(); function myFunction(){ document.getElementById("demo").innerHTML = add(); } </script> </code></pre> <p><strong>实例解析</strong><br> 变量 add 指定了函数自我调用的返回字值。<br> 自我调用函数只执行一次。设置计数器为 0。并返回函数表达式。<br> add变量可以作为一个函数使用。非常棒的部分是它可以访问函数上一层作用域的计数器。<br> 这个叫作 JavaScript 闭包。它使得函数拥有私有变量变成可能。<br> 计数器受匿名函数的作用域保护,只能通过 add 方法修改。<br> <code>闭包是一种保护私有变量的机制,在函数执行时形成私有的作用域,保护里面的私有变量不受外界干扰。 直观的说就是形成一个不销毁的栈环境。</code></p> <h3>Vue.js 学习</h3> <p>Vue框架参考了MVVM架构,所以vm扮演一个数据视图的实例。<br> watch('属性',function(newVal,oldVal));会观察实例某个属性,并通过回调获取最新的值、旧值</p> <p>实例生命周期钩子<br> 将实例挂在到DOM,并在数据变化更新DOM。在这个过程中运行 <strong>声明周期钩子</strong>函数,给用户在不同阶段添加自己代码的机会。</p> <p>生命周期函数内不能使用箭头函数<br> 属性函数<br> //页面创建之前<br> beforeCreate</p> <p>//实例创建之后<br> created</p> <p>//挂载之前进行的<br> beforeMount</p> <p>//挂载成功之后<br> mounted</p> <p>//数据变化更新之前调用<br> beforeUpdate</p> <p>//组件 DOM 已经更新,组件更新完毕<br> updated</p> <p>setTimeout(function(),3000),三分钟后执行function</p> <p><strong>模板语法</strong></p> <p>文本插值 {{ }}<br> v-onec执行一次插值<br> v-html 将变量文本输出为真正的HTML<br> v-bind (帮助标签动态绑定属性)</p> <p>v-if 指令 根据表达式的值的真假来判断 元素的执行</p> <h3>Node.js 学习</h3> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1698610799423074304"></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">你可能感兴趣的:(Web学习之开篇)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1950231254427299840.htm" title="我不懂什么是爱,但我给你全部我拥有的" target="_blank">我不懂什么是爱,但我给你全部我拥有的</a> <span class="text-muted">香尧</span> <div>因为怕黑,所以愿意陪伴在夜中行走的人,给他一点点的安全感。因为渴望温柔与爱,所以愿意为别的孩子付出爱与温柔。因为曾遭受侮辱和伤害,所以不以同样的方式施于其他人。如果你向别人出之以利刃,对方还了你爱与包容,真的不要感激他,真的不要赞美他。每一个被人伤害过的人心里都留下了一颗仇恨的种子,他也会想要有一天以眼还眼,以牙还牙。但他未让那颗种子生根发芽,他用一把心剑又一次刺向他自己,用他血荐仇恨,开出一朵温</div> </li> <li><a href="/article/1950228031524106240.htm" title="Spring进阶 - SpringMVC实现原理之DispatcherServlet处理请求的过程" target="_blank">Spring进阶 - SpringMVC实现原理之DispatcherServlet处理请求的过程</a> <span class="text-muted">倾听铃的声</span> <a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/mvc/1.htm">mvc</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a> <div>前文我们有了IOC的源码基础以及SpringMVC的基础,我们便可以进一步深入理解SpringMVC主要实现原理,包含DispatcherServlet的初始化过程和DispatcherServlet处理请求的过程的源码解析。本文是第二篇:DispatcherServlet处理请求的过程的源码解析。@pdaiSpring进阶-SpringMVC实现原理之DispatcherServlet处理请求的</div> </li> <li><a href="/article/1950225532016717824.htm" title="恩小希美食成长日记之118:“摘星女神”王亚平归来,她的婚姻,治愈了多少职场女性的痛" target="_blank">恩小希美食成长日记之118:“摘星女神”王亚平归来,她的婚姻,治愈了多少职场女性的痛</a> <span class="text-muted">恩小希</span> <div>上周最为热闹的消息,无疑是神舟13号的三位航天英雄回来了.其中,最为瞩目的就是王亚平.她是我国首位进行太空行走的女航天员,也是为自己小女儿“摘星星的妈妈”。作为最受关注的职场妈妈,王亚平之所以能够成就这样一番事业,跟背后默默支持她的丈夫--赵鹏分不开。01王亚平1980年出生于山东烟台。父母都是地地道道的农民。王亚平这个姑娘从小体质好,一直练习长跑。高中时,空军来家乡招收女飞行员,作为体育班里唯一</div> </li> <li><a href="/article/1950225020974329856.htm" title="2019-07-30" target="_blank">2019-07-30</a> <span class="text-muted">西域社群</span> <div>天地之间,分外热闹。望热浪涛涛,引无数帅哥竞开撩,夕窈窕淑女皆露腰。一代天骄,群里热闹。不见美女露妖娆,唯见帅哥手机忙,唐诗宋词,广为流传,惜字如金,声情并茂。君悉吾析,今日之局有套路,昨日之生惹人恋。聚往矣,数风流人物还看今朝!!</div> </li> <li><a href="/article/1950222094314827776.htm" title="【老房翻新】92平轻奢简约风,将和谐之美融入空间!" target="_blank">【老房翻新】92平轻奢简约风,将和谐之美融入空间!</a> <span class="text-muted">没人比我更懂装修</span> <div>在客厅空间中,设计师于冷静的空间基调中选用了层次感丰富的黄蓝色作为主要跳色,搭配黑白纹理的地毯与单椅,为空间增加了时尚摩登的气息。艺术感的单品突出点亮了空间,绿植的点缀、留白的软饰则增强了空间的呼吸性。点击此处添加图片说明文字点击此处添加图片说明文字设计师力求使每一处的设立都在空间中达到相互间的呼应与制衡,将艺术的跃动之美赋于空间之上,也将空间的和谐之美融于生活之中。点击此处添加图片说明文字点击此</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/1950218399846035456.htm" title="营销活动-大转盘" target="_blank">营销活动-大转盘</a> <span class="text-muted">無缺520</span> <div>写在前面最近,首先营销活动工具这块我是再熟悉不过了。曾经做了不下20个活动工具,然后通过监控活动数据反推活动的好坏。文中主要讲解幸运大转盘营销工具一.大转盘定义大转盘是比较常见的营销活动工具,它是通过消费者用户控制【开始/停止】操作获得奖品物品。用户在不知道自己能获得什么奖品的条件下,然后通过抽奖,大概率的获得未知的奖品。类似最近流行的盲盒玩法。二.为什么做大转盘大转盘是最常用的抽奖类的活动工具之</div> </li> <li><a href="/article/1950217304876838912.htm" title="STM32入门之TIM基本定时器" target="_blank">STM32入门之TIM基本定时器</a> <span class="text-muted">嵌入式白话</span> <a class="tag" taget="_blank" href="/search/STM32%E5%85%A5%E9%97%A8%E5%AD%A6%E4%B9%A0/1.htm">STM32入门学习</a><a class="tag" taget="_blank" href="/search/stm32/1.htm">stm32</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%A1%AC%E4%BB%B6/1.htm">嵌入式硬件</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a> <div>一、定时器简介定时器是嵌入式系统中的关键外设之一,它可以用于生成精确的延时、周期性中断、PWM波形生成等功能。在STM32F1系列单片机中,定时器不仅能为系统提供精确的时钟,还支持外部事件的捕获以及信号输出。对于定时器的功能,我们可以通过一个生活中非常常见的例子来形象地描述:微波炉的定时器。想象你正在使用微波炉加热食物。在微波炉里,定时器的作用就是帮助你控制食物加热的时间。当你设置了加热时间后,定</div> </li> <li><a href="/article/1950215474298023936.htm" title="收集落叶" target="_blank">收集落叶</a> <span class="text-muted">申文秀</span> <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/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/1950212284320116736.htm" title="漫步,跳出藩篱" target="_blank">漫步,跳出藩篱</a> <span class="text-muted">张巧金沙</span> <div>最近的教学,倍感不爽。一为这国庆之假,把这课上得支离破碎的。放假前,上了四天课,但我却只上了三天,9月30日,我工作室在搞活动,全天的活动,课当然未能上。10月8日学生回校,上了两天课,学生又放回家了。就觉得学生刚有点状态,又回去逍遥去了。感觉吧,教学内容也不敢大胆甩开膀子去教学,所以呀,这教学内容还真上不走,而且学生学下来效果特差。这不,国庆放假前的一个周,测试了两次,均为第一单元,是自考试以来</div> </li> <li><a href="/article/1950210758742700032.htm" title="用好考评指挥棒 答好时代新答卷" target="_blank">用好考评指挥棒 答好时代新答卷</a> <span class="text-muted">天才码字选手</span> <div>民之所望,施政所向。而群众评议正是检验发展质量和人民获得感的试金石。究竟是“走过场”、“栽盆景”,还是俯下身子,甘当为民服务的“孺子牛”或撸起袖子,做担当作为的“拓荒牛”,群众自是看得清清楚楚,最有发言权。因而也有这样一句话:干部脚下沾多少泥土,群众心里就有多少感情。民意不可或缺,群众的意见不能少。新时代下,要最大程度发挥群众评议在激励干部担当作为中的效能,才能汇聚起推动高质量发展的磅礴之力,答好</div> </li> <li><a href="/article/1950208352168505344.htm" title="总会有一道光之利刃 能划破暗夜长空!" target="_blank">总会有一道光之利刃 能划破暗夜长空!</a> <span class="text-muted">一滴Sea</span> <div>图片发自App一帆风顺的人生很难产生什么顿悟,只有扎扎心,人才会醒悟,所以人生路上偶尔的风浪冲突,都可以怡情,和着一杯清茶一品人生的滋味。图片发自App中国人的传统家教就是:优点不鼓励,心知肚明就好,有缺点一定要细细碎碎仔细倒嚼,然后编织成一张唠叨之网把家人孩子都包裹的严严实实,苦口婆心地说:“走大街的人,没有人像我这样说你,你该感恩才是!”图片发自App唉!真是让人一口长气无处抒发,多少孩子因为</div> </li> <li><a href="/article/1950204266194989056.htm" title="今天的彭格列依然被世界游戏吓得瑟瑟发抖呢" target="_blank">今天的彭格列依然被世界游戏吓得瑟瑟发抖呢</a> <span class="text-muted">云染舒倦</span> <div>前言有一天,有一个白兰的大魔王想要毁灭世界,创世者非常不高兴,于是,创始者用吞噬一切,包容一切的大空(泽田纲吉)、捉摸不定的雾(六道骸)、孤高的浮云(云雀恭弥)、愤怒的忠岚(狱寺隼人)、晕染一切的雨(山本武)、守护之雷(蓝波)、热血之晴(晴川了平)创造了七位拯救世界的勇士(用属性制造勇士),让他们跟白兰对抗。。。[白兰的力量是游戏,于是要打败他,只要同样在世界布置的游戏中,赢过白兰就行了~]图片发</div> </li> <li><a href="/article/1950199576451411968.htm" title="20210517坚持分享53天读书摘抄笔记 非暴力沟通——爱自己" target="_blank">20210517坚持分享53天读书摘抄笔记 非暴力沟通——爱自己</a> <span class="text-muted">f79a6556cb19</span> <div>让生命之花绽放在赫布·加德纳(HerbGardner)编写的《一千个小丑》一剧中,主人公拒绝将他12岁的外甥交给儿童福利院。他郑重地说道:“我希望他准确无误地知道他是多么特殊的生命,要不,他在成长的过程中将会忽视这一点。我希望他保持清醒,并看到各种奇妙的可能。我希望他知道,一旦有机会,排除万难给世界一点触动是值得的。我还希望他知道为什么他是一个人,而不是一张椅子。”然而,一旦负面的自我评价使我们看</div> </li> <li><a href="/article/1950199532725792768.htm" title="Android GreenDao介绍和Generator生成表对象代码" target="_blank">Android GreenDao介绍和Generator生成表对象代码</a> <span class="text-muted"></span> <div>目录(?)[-]介绍创建工程转载请注明:http://blog.csdn.net/sinat_30276961/article/details/50052109最近无意中发现了GreenDao,然后查看了一些资料后,发现这个数据库框架很适合用,于是乎,查看了官网的api,并自己写了一个小应用总结一下它的使用方法。介绍按照国际惯例,在开篇,总要先介绍一下什么是GreenDao吧。首先需要说明的是Gr</div> </li> <li><a href="/article/1950197540850823168.htm" title="好学生引路人2021年6月21日星期一" target="_blank">好学生引路人2021年6月21日星期一</a> <span class="text-muted">一米阳光2025年</span> <div>5组21号董文娟(甘肃省白银市靖远县小芦小学语文教师)的打卡记录:1.听录音,读原文:《论语·学政第二》之2.42[爱心]2.听分享,写心得:认真聆听了好几遍辛教授的讲解《为政第二》2.4后,深有感触,孔子说自己的学习是有所自觉的学习,而不是盲目的学习。自己最向往的志向,三十而立,坚定的自守,立于自己的志向,我感觉我自己正处于这个“三十而立”的年龄,能真正达到一切游刃有余,财务自由,志向远大的生命</div> </li> <li><a href="/article/1950195499067830272.htm" title="量子计算解决气候变化:科学家找到了新方法" target="_blank">量子计算解决气候变化:科学家找到了新方法</a> <span class="text-muted">大力出奇迹985</span> <a class="tag" taget="_blank" href="/search/%E9%87%8F%E5%AD%90%E8%AE%A1%E7%AE%97/1.htm">量子计算</a> <div>气候变化已成为全球面临的严峻挑战,传统计算方法在应对与之相关的复杂问题时存在诸多局限。而量子计算作为新兴技术,为解决气候变化难题带来曙光。本文深入剖析科学家利用量子计算应对气候变化的新方法。量子计算凭借独特的量子比特与量子特性,在加速气候模型计算、优化模型参数、预测极端天气事件等方面展现出巨大优势。同时,在可再生能源整合、电网管理、碳捕获等实际应用场景中也发挥着重要作用。尽管目前面临硬件和算法等方</div> </li> <li><a href="/article/1950193584867176448.htm" title="守一朵花,偏安春之一隅" target="_blank">守一朵花,偏安春之一隅</a> <span class="text-muted">者者行</span> <div>图片发自App守一朵花,偏安春之一隅云雾压城的那一刻我发现世界小了许多高楼耸立,挨着天女的脚丫脚贴大地柔软的腹河水湿润了游离的眼际风偏安春的围城在我的身体里生根育芽远山,那块曾经蕴藏着诗的圣地不见也罢此刻我只想读懂泥土的温柔和挂在纤纤枝头的那抹春色它是那么轻盈像蝴蝶的羽翼我多想折一枝春寄给遥远的你可又怕你见到的是一朵将萎的花近日的烟雨,给江城的春色增添了些许朦胧之美。灰白的天色,让我的视界后退了不</div> </li> <li><a href="/article/1950191461337198592.htm" title="算法刷题-动态规划之背包问题" target="_blank">算法刷题-动态规划之背包问题</a> <span class="text-muted"></span> <div>1.背包问题之01(4.30)题目描述小明有一个容量为VV的背包。这天他去商场购物,商场一共有NN件物品,第ii件物品的体积为wiwi,价值为vivi。小明想知道在购买的物品总体积不超过VV的情况下所能获得的最大价值为多少,请你帮他算算。输入描述输入第11行包含两个正整数N,VN,V,表示商场物品的数量和小明的背包容量。第2∼N+12∼N+1行包含22个正整数w,vw,v,表示物品的体积和价值。1</div> </li> <li><a href="/article/1950191294076743680.htm" title="一些身体的自描" target="_blank">一些身体的自描</a> <span class="text-muted">王神马</span> <div>短发,黑色的盆栽浇水,裁剪只为了衬托盆的好看手掌,黄色的落叶纵横交错的脉络指引生命之树是哪一棵双脚,行走的印章镌刻着生命的贵重每一条人生都值得铭记眉毛,情绪的微澜紧促,上扬都牵动着那根心弦</div> </li> <li><a href="/article/1950187221080403968.htm" title="《终身成长》之每日领读" target="_blank">《终身成长》之每日领读</a> <span class="text-muted">恩佳一</span> <div>【昵称】锡安之燕【书名】《终身成长》【阅读时长】30分钟【阅读内容】第四章《天赋与天才》【原文金句】1.人的思维模式比天赋更重要。2.在我们的文化中,无论怎么强调个人努力和自我提高的重要性,人们在心灵深处,依然崇尚天赋。【三个问题】:1、结合之前学过的知识,说一说固定型思维模式的人,在面对失败的时候会怎样做?固定型思维模式的人面对失败会自卑,不自信,会停滞不前或就此被打倒。2、身体上的天赋是显而易</div> </li> <li><a href="/article/1950185188122226688.htm" title="禁止缠爱宋知闲江窈(禁止缠爱小说)全文免费阅读无弹窗" target="_blank">禁止缠爱宋知闲江窈(禁止缠爱小说)全文免费阅读无弹窗</a> <span class="text-muted">海边书楼</span> <div>禁止缠爱宋知闲江窈(禁止缠爱小说)全文免费阅读无弹窗主角:宋知闲江窈简介:飞机上一场阴差阳错的情事过后,宋知闲对江窈的肉体食髓知味。多夜欢好后。她问,“娶我?”宋知闲淡漠,“不娶,没兴趣。”再后来,那个永远冷漠的高岭之花在所有人面前,死死拽着她的手,红着眼,“江窈,我求你别走!”江窈微微一笑,心如止水。“放手,明天我嫁人。”可关注微信公众号【寒风书楼】去回个书号【307】,即可免费阅读【禁止缠爱】</div> </li> <li><a href="/article/1950180470478139392.htm" title="大家人" target="_blank">大家人</a> <span class="text-muted">原野草</span> <div>10月2号这一天,西门庆自己拿出了四两银子。外加花子虚的一两银子,还有几个兄弟的一点点钱,总共五两多银子,大概2500多块钱人民币我们来看一下买的什么啊?西门庆叫家人来兴儿买了一头猪。一头羊。五六坛金华酒,香烛纸札,鸡鸭案酒之物。又封了五钱银子。叫了大家人,来保玳安来兴三个,说明购买的东西很多5钱银子给吴师傅的工资辛苦费食物送到玉皇庙去,对吴师傅说,我爹明天结拜兄弟,要辛苦师傅帮忙撰文结拜兄弟的宣</div> </li> <li><a href="/article/1950179840019722240.htm" title="被岁月淡忘了的纪念日,将变成另外一种形式存在于我们的生活里" target="_blank">被岁月淡忘了的纪念日,将变成另外一种形式存在于我们的生活里</a> <span class="text-muted">我是王小楠</span> <div>我和我的先生是经人介绍认识结婚在,他大我五岁,认识时,两个人都属于大龄青年,于是看着对眼便不再挑剔什么,三个月后我们两个结婚,在北京组建了我们的小家庭,像很多夫妻一样,在最初的那几年里日子也过一穷二白,上班、下班、回家,两个人没有更多的娱乐生活,我们也曾争吵、否认、后悔、到最后的认可,这个过程是感情点滴的积累,直到今天我们不知不觉在岁月里已经牵手走过十余年的时光,庆幸彼此没有被婚姻里的七年之痒和琐</div> </li> <li><a href="/article/1950179453615271936.htm" title="山月记|知者行之始,行者知之成" target="_blank">山月记|知者行之始,行者知之成</a> <span class="text-muted">嘉清月</span> <div>(郑重声明:文章系原创首发,文责自负)近日在看中岛敦的中短篇小说集《山月记》。看完短篇小说《山月记》之后,是《名人传》。讲纪昌学射的寓言故事,不过这并不是今天的主角,令我心生感慨的是《悟净出世》与《悟净叹异》。对,就是沙悟净,提起沙悟净,我的刻板印象立即出现:憨厚老实的和尚。不过《悟净出世》的悟净并非如此。作者中岛敦,借悟净其人,向世人讲述他关于自我意义的探寻。悟净出世悟净悟不出自我的意义,觉得自</div> </li> <li><a href="/article/1950179070922780672.htm" title="道德经|第十一章 有以为利,无以为用" target="_blank">道德经|第十一章 有以为利,无以为用</a> <span class="text-muted">嘿魏央子</span> <div>【原文】当其无,有车之用。埏埴以为器,当其无,有器之用。凿户牖以为室,当其无,有室之用。故有之以为利,无之以为用。【译文】三十根辐条集结为一个车轮,正是因为它们拱成一个圆形的中空之处,才能连接车轴,成就了车轮的用途。揉和黏土制成陶器,正是因为它留有中空的部分,才成就了它的用途。开凿门窗建成居室,正是因为它中间是空的,才成就了房屋的用途。所以,“有”给人方便之利,“无”发挥着作用。【碎碎念】乐于助人</div> </li> <li><a href="/article/1950178812809506816.htm" title="【676】幼儿园亲子阅读之《战争与和平》" target="_blank">【676】幼儿园亲子阅读之《战争与和平》</a> <span class="text-muted">登登一君</span> <div>我是昭君,我想记录我生活工作的点点滴滴,今天是我每日一篇文章的第676天。《战争和平》,从封面和封底上,我们就能够感受到一种隐含着冲突的幽默感。《战争与和平》这是一个非常严肃和正经的名字,是不是想到了列夫·托尔斯泰的长篇小说。当然这两个故事没有什么关系,可是画面却有些搞笑和无厘头,狮子、刺猬后面还跟着猪、羊、河马,明明都是动物,却穿着人的衣服,还像人一样站立着。而不远处的坦克上,明明坐着一个人,但</div> </li> <li><a href="/article/1950172590916038656.htm" title="领略商业之美" target="_blank">领略商业之美</a> <span class="text-muted">苏黛_love</span> <div>从明天起,我要做一个会育儿、懂商业的妈妈。学习商业大课之《认知商业》《觉性智慧》的收获:1、商业是帮助我们赚钱的必备技能,从此不再排斥商业,对财富说是。2、老王说,普通人的商业思维就是:你能用已经验证的商业规则来帮助自己赚钱。我的理解:有模板,永就好了。3、有的人喜欢钱,不喜欢赚钱··········哈哈哈——现在,我认为这是对没有挣钱的能力和怕辛苦的掩饰罢了。4、商业大课上要转变的一个思维:挣钱</div> </li> <li><a href="/article/119.htm" title="Spring中@Value注解,需要注意的地方" target="_blank">Spring中@Value注解,需要注意的地方</a> <span class="text-muted">无量</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/bean/1.htm">bean</a><a class="tag" taget="_blank" href="/search/%40Value/1.htm">@Value</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a> <div>Spring 3以后,支持@Value注解的方式获取properties文件中的配置值,简化了读取配置文件的复杂操作 1、在applicationContext.xml文件(或引用文件中)中配置properties文件 <bean id="appProperty" class="org.springframework.beans.fac</div> </li> <li><a href="/article/246.htm" title="mongoDB 分片" target="_blank">mongoDB 分片</a> <span class="text-muted">开窍的石头</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a> <div>    mongoDB的分片。要mongos查询数据时候 先查询configsvr看数据在那台shard上,configsvr上边放的是metar信息,指的是那条数据在那个片上。由此可以看出mongo在做分片的时候咱们至少要有一个configsvr,和两个以上的shard(片)信息。     第一步启动两台以上的mongo服务 &nb</div> </li> <li><a href="/article/373.htm" title="OVER(PARTITION BY)函数用法" target="_blank">OVER(PARTITION BY)函数用法</a> <span class="text-muted">0624chenhong</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div>这篇写得很好,引自 http://www.cnblogs.com/lanzi/archive/2010/10/26/1861338.html OVER(PARTITION BY)函数用法 2010年10月26日 OVER(PARTITION BY)函数介绍 开窗函数        &nb</div> </li> <li><a href="/article/500.htm" title="Android开发中,ADB server didn't ACK 解决方法" target="_blank">Android开发中,ADB server didn't ACK 解决方法</a> <span class="text-muted">一炮送你回车库</span> <a class="tag" taget="_blank" href="/search/Android%E5%BC%80%E5%8F%91/1.htm">Android开发</a> <div>首先通知:凡是安装360、豌豆荚、腾讯管家的全部卸载,然后再尝试。   一直没搞明白这个问题咋出现的,但今天看到一个方法,搞定了!原来是豌豆荚占用了 5037 端口导致。 参见原文章:一个豌豆荚引发的血案——关于ADB server didn't ACK的问题 简单来讲,首先将Windows任务进程中的豌豆荚干掉,如果还是不行,再继续按下列步骤排查。 &nb</div> </li> <li><a href="/article/627.htm" title="canvas中的像素绘制问题" target="_blank">canvas中的像素绘制问题</a> <span class="text-muted">换个号韩国红果果</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/canvas/1.htm">canvas</a> <div>pixl的绘制,1.如果绘制点正处于相邻像素交叉线,绘制x像素的线宽,则从交叉线分别向前向后绘制x/2个像素,如果x/2是整数,则刚好填满x个像素,如果是小数,则先把整数格填满,再去绘制剩下的小数部分,绘制时,是将小数部分的颜色用来除以一个像素的宽度,颜色会变淡。所以要用整数坐标来画的话(即绘制点正处于相邻像素交叉线时),线宽必须是2的整数倍。否则会出现不饱满的像素。 2.如果绘制点为一个像素的</div> </li> <li><a href="/article/754.htm" title="编码乱码问题" target="_blank">编码乱码问题</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/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A0%81/1.htm">编码</a> <div>1、JVM中单个字符占用的字节长度跟编码方式有关,而默认编码方式又跟平台是一一对应的或说平台决定了默认字符编码方式;2、对于单个字符:ISO-8859-1单字节编码,GBK双字节编码,UTF-8三字节编码;因此中文平台(中文平台默认字符集编码GBK)下一个中文字符占2个字节,而英文平台(英文平台默认字符集编码Cp1252(类似于ISO-8859-1))。 3、getBytes()、getByte</div> </li> <li><a href="/article/881.htm" title="java 求几个月后的日期" target="_blank">java 求几个月后的日期</a> <span class="text-muted">darkranger</span> <a class="tag" taget="_blank" href="/search/calendar/1.htm">calendar</a><a class="tag" taget="_blank" href="/search/getinstance/1.htm">getinstance</a> <div>Date plandate = planDate.toDate(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Calendar cal = Calendar.getInstance(); cal.setTime(plandate); // 取得三个月后时间 cal.add(Calendar.M</div> </li> <li><a href="/article/1008.htm" title="数据库设计的三大范式(通俗易懂)" target="_blank">数据库设计的三大范式(通俗易懂)</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A4%8D%E4%B9%A0/1.htm">数据库复习</a> <div>关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。数据库的设计范式是数据库设计所需要满足的规范。只有理解数据库的设计范式,才能设计出高效率、优雅的数据库,否则可能会设计出错误的数据库. 目前,主要有六种范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。满足最低要求的叫第一范式,简称1NF。在第一范式基础上进一步满足一些要求的为第二范式,简称2NF。其余依此类推。</div> </li> <li><a href="/article/1135.htm" title="想学工作流怎么入手" target="_blank">想学工作流怎么入手</a> <span class="text-muted">atongyeye</span> <a class="tag" taget="_blank" href="/search/jbpm/1.htm">jbpm</a> <div>工作流在工作中变得越来越重要,很多朋友想学工作流却不知如何入手。 很多朋友习惯性的这看一点,那了解一点,既不系统,也容易半途而废。好比学武功,最好的办法是有一本武功秘籍。研究明白,则犹如打通任督二脉。 系统学习工作流,很重要的一本书《JBPM工作流开发指南》。 本人苦苦学习两个月,基本上可以解决大部分流程问题。整理一下学习思路,有兴趣的朋友可以参考下。 1  首先要</div> </li> <li><a href="/article/1262.htm" title="Context和SQLiteOpenHelper创建数据库" target="_blank">Context和SQLiteOpenHelper创建数据库</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/Context%E5%88%9B%E5%BB%BA%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">Context创建数据库</a> <div>       一直以为安卓数据库的创建就是使用SQLiteOpenHelper创建,但是最近在android的一本书上看到了Context也可以创建数据库,下面我们一起分析这两种方式创建数据库的方式和区别,重点在SQLiteOpenHelper     一:SQLiteOpenHelper创建数据库:   1,SQLi</div> </li> <li><a href="/article/1389.htm" title="浅谈group by和distinct" target="_blank">浅谈group by和distinct</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/group+by/1.htm">group by</a><a class="tag" taget="_blank" href="/search/distinct/1.htm">distinct</a> <div>        group by和distinct只了去重意义一样,但是group by应用范围更广泛些,如分组汇总或者从聚合函数里筛选数据等。         譬如:统计每id数并且只显示数大于3 select id ,count(id) from ta</div> </li> <li><a href="/article/1516.htm" title="vi opertion" target="_blank">vi opertion</a> <span class="text-muted">征客丶</span> <a class="tag" taget="_blank" href="/search/mac/1.htm">mac</a><a class="tag" taget="_blank" href="/search/opration/1.htm">opration</a><a class="tag" taget="_blank" href="/search/vi/1.htm">vi</a> <div>进入 command mode (命令行模式) 按 esc 键 再按 shift + 冒号 注:以下命令中 带 $ 【在命令行模式下进行】,不带 $ 【在非命令行模式下进行】 一、文件操作 1.1、强制退出不保存 $ q! 1.2、保存 $ w 1.3、保存并退出 $ wq 1.4、刷新或重新加载已打开的文件 $ e 二、光标移动 2.1、跳到指定行 数字</div> </li> <li><a href="/article/1643.htm" title="【Spark十四】深入Spark RDD第三部分RDD基本API" target="_blank">【Spark十四】深入Spark RDD第三部分RDD基本API</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a> <div>  对于K/V类型的RDD,如下操作是什么含义?   val rdd = sc.parallelize(List(("A",3),("C",6),("A",1),("B",5)) rdd.reduceByKey(_+_).collect  reduceByKey在这里的操作,是把</div> </li> <li><a href="/article/1770.htm" title="java类加载机制" target="_blank">java类加载机制</a> <span class="text-muted">BlueSkator</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%99%9A%E6%8B%9F%E6%9C%BA/1.htm">虚拟机</a> <div>java类加载机制 1.java类加载器的树状结构 引导类加载器 ^ | 扩展类加载器 ^ | 系统类加载器 java使用代理模式来完成类加载,java的类加载器也有类似于继承的关系,引导类是最顶层的加载器,它是所有类的根加载器,它负责加载java核心库。当一个类加载器接到装载类到虚拟机的请求时,通常会代理给父类加载器,若已经是根加载器了,就自己完成加载。 虚拟机区分一个Cla</div> </li> <li><a href="/article/1897.htm" title="动态添加文本框" target="_blank">动态添加文本框</a> <span class="text-muted">BreakingBad</span> <a class="tag" taget="_blank" href="/search/%E6%96%87%E6%9C%AC%E6%A1%86/1.htm">文本框</a> <div>  <script>     var num=1; function AddInput() {      var str="";     str+="<input </div> </li> <li><a href="/article/2024.htm" title="读《研磨设计模式》-代码笔记-单例模式" target="_blank">读《研磨设计模式》-代码笔记-单例模式</a> <span class="text-muted">bylijinnan</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>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ public class Singleton { } /* * 懒汉模式。注意,getInstance如果在多线程环境中调用,需要加上synchronized,否则存在线程不安全问题 */ class LazySingleton</div> </li> <li><a href="/article/2151.htm" title="iOS应用打包发布常见问题" target="_blank">iOS应用打包发布常见问题</a> <span class="text-muted">chenhbc</span> <a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a><a class="tag" taget="_blank" href="/search/iOS%E5%8F%91%E5%B8%83/1.htm">iOS发布</a><a class="tag" taget="_blank" href="/search/iOS%E4%B8%8A%E4%BC%A0/1.htm">iOS上传</a><a class="tag" taget="_blank" href="/search/iOS%E6%89%93%E5%8C%85/1.htm">iOS打包</a> <div>这个月公司安排我一个人做iOS客户端开发,由于急着用,我先发布一个版本,由于第一次发布iOS应用,期间出了不少问题,记录于此。   1、使用Application Loader 发布时报错:Communication error.please use diagnostic mode to check connectivity.you need to have outbound acc</div> </li> <li><a href="/article/2278.htm" title="工作流复杂拓扑结构处理新思路" target="_blank">工作流复杂拓扑结构处理新思路</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E4%BC%81%E4%B8%9A%E5%BA%94%E7%94%A8/1.htm">企业应用</a><a class="tag" taget="_blank" href="/search/OO/1.htm">OO</a> <div> 我们走的设计路线和国外的产品不太一样,不一样在哪里呢?  国外的流程的设计思路是通过事先定义一整套规则(类似XPDL)来约束和控制流程图的复杂度(我对国外的产品了解不够多,仅仅是在有限的了解程度上面提出这样的看法),从而避免在流程引擎中处理这些复杂的图的问题,而我们却没有通过事先定义这样的复杂的规则来约束和降低用户自定义流程图的灵活性,这样一来,在引擎和流程流转控制这一个层面就会遇到很</div> </li> <li><a href="/article/2405.htm" title="oracle 11g新特性Flashback data archive" target="_blank">oracle 11g新特性Flashback data archive</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div>1. 什么是flashback data archive Flashback data archive是oracle 11g中引入的一个新特性。Flashback archive是一个新的数据库对象,用于存储一个或多表的历史数据。Flashback archive是一个逻辑对象,概念上类似于表空间。实际上flashback archive可以看作是存储一个或多个表的所有事务变化的逻辑空间。 </div> </li> <li><a href="/article/2532.htm" title="多叉树:2-3-4树" target="_blank">多叉树:2-3-4树</a> <span class="text-muted">dieslrae</span> <a class="tag" taget="_blank" href="/search/%E6%A0%91/1.htm">树</a> <div>    平衡树多叉树,每个节点最多有4个子节点和3个数据项,2,3,4的含义是指一个节点可能含有的子节点的个数,效率比红黑树稍差.一般不允许出现重复关键字值.2-3-4树有以下特征:     1、有一个数据项的节点总是有2个子节点(称为2-节点)     2、有两个数据项的节点总是有3个子节点(称为3-节</div> </li> <li><a href="/article/2659.htm" title="C语言学习七动态分配 malloc的使用" target="_blank">C语言学习七动态分配 malloc的使用</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/language/1.htm">language</a><a class="tag" taget="_blank" href="/search/malloc/1.htm">malloc</a> <div>/* 2013年3月15日15:16:24 malloc 就memory(内存) allocate(分配)的缩写 本程序没有实际含义,只是理解使用 */ # include <stdio.h> # include <malloc.h> int main(void) { int i = 5; //分配了4个字节 静态分配 int * p </div> </li> <li><a href="/article/2786.htm" title="Objective-C编码规范[译]" target="_blank">Objective-C编码规范[译]</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%A0%81%E8%A7%84%E8%8C%83/1.htm">代码规范</a> <div>  原文链接 : The official raywenderlich.com Objective-C style guide 原文作者 : raywenderlich.com Team 译文出自 : raywenderlich.com Objective-C编码规范 译者 : Sam Lau </div> </li> <li><a href="/article/2913.htm" title="0.性能优化-目录" target="_blank">0.性能优化-目录</a> <span class="text-muted">frank1234</span> <a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a> <div>从今天开始笔者陆续发表一些性能测试相关的文章,主要是对自己前段时间学习的总结,由于水平有限,性能测试领域很深,本人理解的也比较浅,欢迎各位大咖批评指正。 主要内容包括: 一、性能测试指标 吞吐量、TPS、响应时间、负载、可扩展性、PV、思考时间 http://frank1234.iteye.com/blog/2180305 二、性能测试策略 生产环境相同 基准测试 预热等 htt</div> </li> <li><a href="/article/3040.htm" title="Java父类取得子类传递的泛型参数Class类型" target="_blank">Java父类取得子类传递的泛型参数Class类型</a> <span class="text-muted">happyqing</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%B3%9B%E5%9E%8B/1.htm">泛型</a><a class="tag" taget="_blank" href="/search/%E7%88%B6%E7%B1%BB/1.htm">父类</a><a class="tag" taget="_blank" href="/search/%E5%AD%90%E7%B1%BB/1.htm">子类</a><a class="tag" taget="_blank" href="/search/Class/1.htm">Class</a> <div>  import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import org.junit.Test; abstract class BaseDao<T> { public void getType() { //Class<E> clazz =</div> </li> <li><a href="/article/3167.htm" title="跟我学SpringMVC目录汇总贴、PDF下载、源码下载" target="_blank">跟我学SpringMVC目录汇总贴、PDF下载、源码下载</a> <span class="text-muted">jinnianshilongnian</span> <a class="tag" taget="_blank" href="/search/springMVC/1.htm">springMVC</a> <div>  ----广告-------------------------------------------------------------- 网站核心商详页开发 掌握Java技术,掌握并发/异步工具使用,熟悉spring、ibatis框架; 掌握数据库技术,表设计和索引优化,分库分表/读写分离; 了解缓存技术,熟练使用如Redis/Memcached等主流技术; 了解Ngin</div> </li> <li><a href="/article/3294.htm" title="the HTTP rewrite module requires the PCRE library" target="_blank">the HTTP rewrite module requires the PCRE library</a> <span class="text-muted">流浪鱼</span> <a class="tag" taget="_blank" href="/search/rewrite/1.htm">rewrite</a> <div>./configure: error: the HTTP rewrite module requires the PCRE library. 模块依赖性Nginx需要依赖下面3个包 1. gzip 模块需要 zlib 库 ( 下载: http://www.zlib.net/ ) 2. rewrite 模块需要 pcre 库 ( 下载: http://www.pcre.org/ ) 3. s</div> </li> <li><a href="/article/3421.htm" title="第12章 Ajax(中)" target="_blank">第12章 Ajax(中)</a> <span class="text-muted">onestopweb</span> <a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a> <div>index.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/</div> </li> <li><a href="/article/3548.htm" title="Optimize query with Query Stripping in Web Intelligence" target="_blank">Optimize query with Query Stripping in Web Intelligence</a> <span class="text-muted">blueoxygen</span> <a class="tag" taget="_blank" href="/search/BO/1.htm">BO</a> <div>http://wiki.sdn.sap.com/wiki/display/BOBJ/Optimize+query+with+Query+Stripping+in+Web+Intelligence and a very straightfoward video http://www.sdn.sap.com/irj/scn/events?rid=/library/uuid/40ec3a0c-936</div> </li> <li><a href="/article/3675.htm" title="Java开发者写SQL时常犯的10个错误" target="_blank">Java开发者写SQL时常犯的10个错误</a> <span class="text-muted">tomcat_oracle</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a> <div>1、不用PreparedStatements   有意思的是,在JDBC出现了许多年后的今天,这个错误依然出现在博客、论坛和邮件列表中,即便要记住和理解它是一件很简单的事。开发者不使用PreparedStatements的原因可能有如下几个:   他们对PreparedStatements不了解   他们认为使用PreparedStatements太慢了   他们认为写Prepar</div> </li> <li><a href="/article/3802.htm" title="世纪互联与结盟有感" target="_blank">世纪互联与结盟有感</a> <span class="text-muted">阿尔萨斯</span> <div> 10月10日,世纪互联与(Foxcon)签约成立合资公司,有感。 全球电子制造业巨头(全球500强企业)与世纪互联共同看好IDC、云计算等业务在中国的增长空间,双方迅速果断出手,在资本层面上达成合作,此举体现了全球电子制造业巨头对世纪互联IDC业务的欣赏与信任,另一方面反映出世纪互联目前良好的运营状况与广阔的发展前景。 众所周知,精于电子产品制造(世界第一),对于世纪互联而言,能够与结盟</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>