首页 文章 精选 留言 我的

精选列表

搜索[学习模式],共10000篇文章
优秀的个人博客,低调大师

HTML 学习笔记

基本框架 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>标题</title> </head> <body> </body> </html> 可打开 .html 文件,直接输入 html:5 调出 语句 一些规范: 标签使用小写,元素必须闭合 空元素要加斜杠以闭合 eg. <br /> 不使用语义化,所有样式都存放于 CSS 中,内容与样式分离 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>标题</title> </head> <body> <h1>一级标题</h1> <h2>二级标题</h2> <p>段落</p> <!--换行符--> <br /> <!--分割线--> <hr /> <!--列表,可嵌套--> <!--有序列表--> <ol> <li>第一项</li> <li>第二项</li> </ol> <!--无序列表--> <ul> <li>第一项</li> <li>第二项</li> </ul> <!--链接--> <a href="https://www.google.com/">链接显示的文本</a> <!--链接到页面特定位置,使用 ID 特性--> <a href="#top">回到顶部</a> <p id="top">顶部</p> <!--链接到其他页面的特定位置--> <a href="http://wiki-power.com/#top">跳转到站外页面的某个位置</a> <!--图像--> <img src="/xx.png" alt="无法加载时的文字说明" /> <!--表格--> <table> <!--第一行--> <tr> <!--第一列--> <th></th> <!--第二列--> <th scope="col">周六</th> <!--第三列--> <th scope="col">周日</th> </tr> <!--第二行--> <tr> <th scope="row">数量</th> <td>120</td> <td>135</td> </tr> <!--第三行--> <tr> <th scope="row">收益</th> <!--跨列 colspan,跨行 rowspan--> <td colspan="2">500</td> </tr> </table> <!--表单,待补充--> <!--iframe,待补充--> <!--flash/视频/音频,待补充--> </body> </html> 参考与致谢 HTML 教程 | 菜鸟教程 HTML 30 分钟入门教程 HTML - head 头部浅析 文章作者:Power Lin 原文地址:https://wiki-power.com 版权声明:文章采用 CC BY-NC-SA 4.0 协议,转载请注明出处。

优秀的个人博客,低调大师

Java 学习杂记

Java 杂记 mybatis 的查询 mybatis 查询没有数据的时候,会返回什么? 返回类是基本数据类型的包装类型和对象,返回为空 null 返回List或Map时,返回结果时是为空的集合 返回结果是基本数据类型时,没有数据时会抛出异常 Guava 强大的集合工具Lists Guava的Lists类中提供了许多实用的方法和静态函数,可以帮助我们优雅的编码。 集合分区方法 - partition() 集合转换方法 - transform() 获取笛卡尔积方法 - cartesianProduct() Lists.newLinkedList() Lists.newArrayList();参考文档:Guava - 强大的集合工具Lists maven相关 maven 依赖问题 项目使用maven管理jar包,很容易因为各种原因(网速慢、断网)导致jar包下载不下来,出现很多.lastUpdated文件。这些不完全下载的包,会导致maven不会去远程下载,需要到仓库的目录下去清除。 maven项目pom.xml中scope类型 scope的分类 compile:默认值 他表示被依赖项目需要参与当前项目的编译,还有后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去 test:依赖项目仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包,例如:junit runtime:表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比,跳过了编译而已。例如JDBC驱动,适用运行和测试阶段 provided:打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是打包阶段做了exclude操作 system:从参与度来说,和provided相同,不过被依赖项不会从maven仓库下载,而是从本地文件系统拿。需要添加systemPath的属性来定义路径 maven 仓库 repository 参考文档仓库 repository

优秀的个人博客,低调大师

Java学习:反射

反射 使用反射可以直接获取class字节码文件中的类型、属性、方法。 演示代码: 新建一个名为User的类作为反射的操作对象 public class User { private int id; private String name; private String password; public User() { } /** * @return the id */ public int getId() { return id; } /** * @return the name */ public String getName() { return name; } /** * @return the password */ public String getPassword() { return password; } /** * @param id the id to set */ public void setId(int id) { this.id = id; } /** * @param name the name to set */ public void setName(String name) { this.name = name; } /** * @param password the password to set */ public void setPassword(String password) { this.password = password; } /* (non-Javadoc) * @see java.lang.Object#toString() */ @Override public String toString() { return "User [id=" + id + ", name=" + name + ", password=" + password + "]"; } } 演示 类 获取类 Object u = new User(); Class class1 = u.getClass(); 获取类名 class1.getName() 获取类访问权限 int modifier = class1.getModifiers(); boolean flag = Modifier.isPublic(modifier); System.out.println("是public?: "+flag); 属性 获取类所有属性访问权限私有的也可以获取到 Field[] arr = class1.getDeclaredFields(); for (Field field:arr) { System.out.println ("类中的属性:" + field); } 获取类所有属性的值私有属性默认无法获取,但是可以通过不检查访问权限来直接获取。 // 获取所有属性的值 for (Field field:arr) { // 不检查访问权限 field.setAccessible(true); // 获取u对象中field的值 Object o = field.get(u); System.out.println("类中的属性值:" +o); } 指定属性名获取属性 Field f = class1.getDeclaredField("name"); f.setAccessible(true); f.set(u, "张三"); Object o = f.get(u); System.out.println("name: " + o); 方法 获取所有方法(包含从父类继承的方法) Method[] allMethods = class1.getMethods(); System.out.println("类的所有方法:"); for (Method method:allMethods) { System.out.println(method); } 获取类自己的方法 Method[] onlyMethods = class1.getDeclaredMethods(); for (Method method:onlyMethods) { System.out.println(method); } 调用无参带返回值方法 Method method2 = class1.getDeclaredMethod("getName"); String str = (String)(method2.invoke(u)); System.out.println ("返回值:"+ str); 调用有参无返回值方法 Method method = class1.getDeclaredMethod("setName", String.class); method.invoke(u, "李四"); 完整演示代码: import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; public class ReflectTest { public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException, NoSuchMethodException, InvocationTargetException { Object u = new User(); // 获取到User的类 Class class1 = u.getClass(); System.out.println("类名:"+class1.getName()); // 获取类访问权限 int modifier = class1.getModifiers(); boolean flag = Modifier.isPublic(modifier); System.out.println("是public?: "+flag); // 获取所有属性 Field[] arr = class1.getDeclaredFields(); for (Field field:arr) { System.out.println ("类中的属性:" + field); } // 获取所有属性的值 for (Field field:arr) { // 不检查访问权限 field.setAccessible(true); // 获取u对象中field的值 Object o = field.get(u); System.out.println("类中的属性值:" +o); } // 指定字段名称获取属性 Field f = class1.getDeclaredField("name"); f.setAccessible(true); f.set(u, "张三"); Object o = f.get(u); System.out.println("name: " + o); // 获取所有方法 (包含继承方法) Method[] allMethods = class1.getMethods(); System.out.println("类的所有方法:"); for (Method method:allMethods) { System.out.println(method); } // 获取当前类的自己的方法 Method[] onlyMethods = class1.getDeclaredMethods(); for (Method method:onlyMethods) { System.out.println(method); } // 调用有参方法 Method method = class1.getDeclaredMethod("setName", String.class); method.invoke(u, "李四"); // 调用无参有返回值方法 Method method2 = class1.getDeclaredMethod("getName"); String str = (String)(method2.invoke(u)); System.out.println ("返回值:"+ str); } }

优秀的个人博客,低调大师

JavaScript学习(十)

目录 练习: String对象的方法 1.查找字符串 (1)charAt()方法 (2)indexOf()方法 (3)lastIndexOf()方法 2.截取字符串 (1)silce()方法 (2)substr()方法 (3)substring()方法 3.连接和拆分 (1)concat()方法 (2)split()方法 4.格式化字符串 练习: 在text文档中输入英文小写字母,点击按钮之后把文本框中的小写字母变成大写。 <head> <meta charset="utf-8"> <title>对象</title> <script type="text/javascript" language="JavaScript"> function c(){ var t=document.getElementById("text1"); t.value=t.value.toUpperCase(); } </script> </head> <body> <input type="text" id="text1"/> <button onclick="c()" type="button">big button</button> </body> String对象的方法 1.查找字符串 (1)charAt()方法 charAt()方法可以返回字符串中指定位置的字符。 语法:stringObject.charAt(index) stringObject:string对象名或字符变量名。 index:必选参数。表示字符串中某个位置的数字,即字符在字符串中的下标。 例子:var str="你好 JavaScript"; alert(str.charAt(1)); (2)indexOf()方法 indexOf()方法可以返回某个子字符串在字符串中首次出现的位置。 语法:stringobject.indexOf(substring.startindex) substring:必选参数。要在字符串中查找的子字符串 startindex:可选参数。用于指定在字符串中开始查找位置,取值范围是0—stringobject.length-1. 例子: <script type="text/javascript" language="JavaScript"> var str="四十四,四是四"; var position=0; var num=-1; var index=0; while(position!=-1){ position=str.indexOf("四",index); num+=1; index=position+1; } document.write("定义的字符串:"+str+"<br />"); document.write("字符串中有"+num+"个四"); </script> (3)lastIndexOf()方法 lastIndexOf()方法可以返回某个字符串在字符串中最后出现的位置。 语法:stringobject.lastIndexOf(substring.startindex) 2.截取字符串 (1)silce()方法 silce()方法可以提取字符串的片段,并在新的字符串中返回被提取部分。 语法:stringobject.silce(startindex,endindex) 例子: var str="你好 JavaScript"; console.log(str.slice(0,7)); (2)substr()方法 substr()方法可以从字符串指定位置提取指定长度的字符串。 语法:stringobject.substr(startindex,length) startindex:必选参数。指定要提取的字符串的位置。该参数可以是负数,如果是负数,则从该字符串的尾部开始算起。 length:可选参数。用于指定提取的字符串的长度。 例子:字符串截取 var str="你好 JavaScript"; document.write(str.substr(0,4)); (3)substring()方法 substring方法用于提取字符串中两个指定的索引号之间的字符。 语法:stringobject.substring(startindex,endindex) 3.连接和拆分 (1)concat()方法 concat()方法用于连接两个或多个字符串。 语法:stringobject.concat(string1,string2...) stringobject:string对象名或字符变量名 string:必选参数。将被连接的字符串,可以是一个,或者多个。 例子: var str1="affa"; var str2="dgaf0"; document.write(str1.concat(str2)); (2)split()方法 split()方法用于把一个字符串分割成字符串数组。 语法:stringobject.split(separator,limit) separator:必选参数。指定的分割符。该参数可以是字符串,也可以是正则表达式。如果把空字符串("")作为分割符,那么字符串的每个字符都会被分割。 limit:可选参数。该参数可指定返回数组的最大长度。如果设置了该参数,返回的数组元素个数都不会多于这个参数。 例子:在文本框中输入数字,生成这个位数的随机字符串。 <script type="text/javascript" language="JavaScript"> function ran(digit){ if(isNaN(digit)){ alert("请输入数字"); }else{ var source="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G"; arrstr=source.split(","); /*分割方法:以逗号为分割符*/ var result=""; var index=0; for(i=0;i<digit;i++){ index=parseInt(Math.random()*arrstr.length); result=arrstr[index]+result; } alert(result); } } </script> <form name="form"> <input type="text" name="digit" /> <input type="button" value="生成" onclick="ran(form.digit.value)"/> </form> 4.格式化字符串 anchor() : 创建HTML锚 big() : 使用大号字体显示字符串 small() : 使用小号字体显示字符串 fontsize() : 使用指定的字体大小显示字符串 bold() : 使用粗体的字体显示字符串 italics() : 使用斜体显示字符串 link() : 将字符串显示为超链接 strike() : 使用删除线来显示字符串 blink() : 显示闪动字符串,此方法并不支持IE浏览器 fixed() : 以打字机文本显示字符串,相当于在字符串两端增加<tt>标记 fontcolor() : 使用指定的颜色来显示字符串 sub() : 把字符串显示为下标 sup() : 把字符串显示为上标

优秀的个人博客,低调大师

JavaScript学习(九)

对象访问语句 for...in循环语句 for...in循环语句和for循环语句十分相似,for...in语句用来遍历对象的每一个属性。每次都将属性名作为字符串保存在变量里。 语法:for(variable in object){ ...statement } variable是一个变量名,声明一个变量的var语句、数组的一个元素或者对象的一个属性; object是一个对象名,或者是计算结果为对象的表达式; statement通常是一个原始语句或者语句块,由它构成循环的主体。 例子1: <script type="text/javascript" language="JavaScript"> var objectes={uesr:"afa", age:"21", QQ:"15625462", email:"54849@123.com", pwd:"4as4fa4f"}; for(var example in objectes){ document.write("属性:"+example+"="+objectes[example]+"<br />") } </script> 例子2: var objectes=document; var object0=""; for(var example in objectes){ object0=example+"="+objectes[example]; document.write(object0+"<br />") } with语句 with语句被用于在访问一个对象的属性或方法时避免重复使用指定对象引用。 语法:with(object){ statements } object:指定在statement块中没有引用的情况下使用那个对象引用。 在一个连续的程序代码中,如果多次使用某个对象的多个属性或方法,那么只要在with关键字后的括号()中写出该对象的名称,就可以在随后的大括号{ }中的程序语句中直接引用该对象的属性名或方法名。 JavaScript中的数组 创建array对象 可以用静态array对象创建一个数组对象,已记录不同类型的数据。 语法:arrayObj=new Array() arrayObj=new Array([size]) arrayObj=new Array([element0[,element1[,...[elementN]]]]) arrayObj:必选项。要赋值为Array对象的变量名 size:可选项。设置数组的大小。由于数组的下标是从零开始,创建元素的下标为0-size-1. elementN:可选项。存入数组的元素。使用该语法时必须有一个以上的元素。 例子: <script type="text/javascript" language="JavaScript"> arrayobj=new Array(1,2,3,"a","b"); console.log(arrayobj); </script> Array对象的输入/输出 1.array对象的输入 向array对象中输入数组元素有三种方法。 (1)在定义array对象时直接输入数组元素 arrayobj=new Array("a","b","c") (2)利用array对象的元素下标向其输入数组元素 arrayobj=new Array(7) arrayobj[3]="a"; arrayobj[4]="b"; (3)利用for语句向array对象中输入数组元素 var n=7; arrayobj=new Array(); for(var i=0;i<n;i++){ arrayobj[i]=i } 2.array对象的输出 将array对象的元素值输出有三种方法 (1)用下标获取指定元素值 arrayobj=new Array("a","b","c") var s=arrayobj[1]; (2)用for语句获取数组中的元素值 arrayobj=new Array("a","b","c") for(var i=0;i<arrayobj.length;i++){ str=str+arrayobj[i].toString(); } document.write(str); (3)用数组对象名输出所有元素值 Array对象的方法 数组的添加和删除 数组的添加和删除可以使用concat()、shift()、pop()、push()、unshift()方法实现。 1.concat()方法 concat()方法用于将其他数组连接到当前数组的尾端 语法:arrayobject.concat(arrayX,arrayX,arrayX,...,arrayX) arrayobject:必选项。数组名称。 arrayX:必选项。该参数可以是具体的值,也可以是数组对象。 例子:var arr=new Array(1,2,3,4,5,6,7,8); document.write(arr.concat(9,10)); 2.shift()方法 shift()方法用于把数组中的第一个元素从数组中删除,并返回删除元素的值。 语法:arrayobject.shift() arrayobject:必选项。数组名称。 返回值:在数组中删除的第一个元素的值。 例子: var arr=new Array(1,2,3,4,5,6,7,8); var del=arr.shift(); console.log("删除的元素是:"+del+"删除后的数组为:"+arr); 3.pop()方法 pop()方法用于删除返回数组中的最后一个元素。 语法:arrayobject.pop() 返回值:array对象的最后一个元素。 var arr=new Array(1,2,3,4,5,6,7,8); var del=arr.pop(); console.log("删除的元素是:"+del+"删除后的数组为:"+arr); 4.push()方法 push()方法向数组的末尾添加一个或多个元素,并返回添加后的数组长度。 语法:arrayobject.push(newelement1,newelement2,...newelementN,) 返回值:把指定的值添加到数组后的新长度。 5.unshift()方法 unshift()方法向数组的开头添加一个或多个元素。 语法:arrayobject.unshift(newelement1,newelement2,...newelementN,) 设置数组的排列顺序 1.reverse()方法 reverse()方法用于颠倒数组中元素的顺序。 语法:arrayobject.reverse() 例子: var arr=new Array(1,2,3,4,5,6,7,8); console.log(arr); arr.reverse(); console.log("删除后的数组为:"+arr); 2.sort()方法 sort()方法用于对数组的元素进行排序。 语法:arrayobject.sort(sortby) sortby:可选项。规定排序的顺序,必须是函数。 例子: var arr=new Array(5,4,2,3,1,6,7,8); console.log(arr); arr.sort(); console.log("删除后的数组为:"+arr); 获取数组中的某段数组元素 获取数组中的某段数组元素主要用slice()方法实现。 slice()方法可从已有的数组中返回选定的元素。 语法:arrayobject.slice(start,end) start:必选项。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说-1指最后一个元素,-2指倒数第二个元素。 end:可选项。规定从何处结束选取。 返回值:返回截取后的数组元素,该方法返回的数据中不包括end索引所对应的数据。 var arr=new Array(5,4,2,3,1,6,7,8); console.log("从数组第3个元素开始选择:"+arr.slice(3)); console.log("从数组第2个元素到5个元素开始选择:"+arr.slice(2,5));

优秀的个人博客,低调大师

JavaScript学习(八)

目录 对象分类: 1.内建对象: 2.宿主对象: 3.自定义对象: javascript内部对象 FileSystemObject对象 动态创建FileSystemObject对象 FileSystemObject对象的方法 In 运算符 JS数据类型 对象字面量 函数: 对象分类: 1.内建对象: 由ES标准中定义的对象,在任何ES中都可以使用 ----比如:math,string,number,Boolean 2.宿主对象: 由JS的运行环境提供的对象,目前来讲主要指浏览器提供的对象 比如:BOM,DOM 3.自定义对象: 由开发人员自己创建的对象 javascript内部对象 对象属于复合的数据类型。 FileSystemObject对象 在javascript中实现文件操作功能,主要是依靠FileSystemObject对象。该对象用来创建、删除和获得有关信息,还可以用来操作驱动器、文件夹和文件的方法和属性。 动态创建FileSystemObject对象 要想对文件进行相应的操作,首先需要对FileSystemObject对象进行实例化,也就是动态创建FileSystemObject对象。 语法:fso =new ActiveXObject("Scripting.FileSystemObject"); fso =new ActiveXObject("Scripting.FileSystemObject");只能在IE上使用 参数说明:fso:是FileSystemObject对象的一个实例。 FileSystemObject对象的方法 (1)GetAbsolutePathName()方法 GetAbsolutePathName()方法根据提供的路径返回完整的路径。如果路径提供了从指定驱动器的根开始的完整的引用,那么它就是完整的。如果路径指定的是映射驱动器的根文件夹,那么完整的路径只能由一个路径分隔符“\”结束。 语法:object.GetAbsolutePathName(pathspec) object:必选项。FileSystemObject对象的名称 pathspec:必选项。要变成完整路径的路径说明。该参数的相应设置如下表 (2)GetBaseName()方法 GetBaseName() 方法将以字符串的形式返回指定路径中最后成分中的基本名称,不包含文件扩展名。 语法:object.GetBaseName(path) object:必选项。FileSystemObject对象的名称 path:必选项。返回其最后成分中的基本名称的指定路径。当路径与path参数不匹配时,GetBaseName()方法将返回长度为0的空字符串。 (3)GetDriveName()方法 GetDriveName()方法根据指定路径返回包含驱动器名称的字符串。 语法:object.GetDriveName(path) (4)GetDrive()方法 GetDrive()方法用于返回指定路径中驱动器的Drive对象。 语法:object.GetDrive(drivespec); drivespec:必选项。该参数可以是驱动器号(c)、带冒号的驱动器号(c:)、带冒号和路径分隔符的驱动器号(c:\),或者任意网络共享的说明(\\computer2\share1). (5)GetExtensionName()方法 GetExtensionName()方法用于返回指定路径中最后成分扩展名的字符串。 语法:object.GetExtensionName(path) (6)GetFileName()方法 GetFileName()方法返回指定路径的最后成分,但指定的路径不能只是驱动器说明,也可以是共享路径。 语法:object.GetFileName(pathspec) pathspec:必选项。指定文件的路径(绝对或相对路径) (7)GetParentFolderName()方法 GetParentFolderName()方法根据指定路径中的最后成分返回其父文件夹名称的字符串。 语法:object.GetParentFolderName(path) path;必选项。文件名所在的完整路径 (8)GetTempName()方法 GetTempName()方法返回一个随机产生的临时文件或文件夹名,有助于执行那些需要临时文件或文件夹的操作 语法:object.GetTempName(); In 运算符 通过该运算符可以检测一个对象中是否含有指定的属性。 var k=new Object(); k.name="s"; k.test=true; alert("s" in k); var k=new Object(); k.name="s"; k.test=true; alert("test" in k); JS数据类型 JS中的变量都是保存到栈内存当中的,基本数据类型的值直接在栈内存中存储。 值与值之间是独立存在的,修改一个变量不会影响其他变量 对象是保存到堆内存中的,每创建一个新的对象,就会在堆内存中开辟出一个新的空间,而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象的引用,当通过一个变量修改属性时,另一个也会受到影响。 对象字面量 可以使用对象字面量来创建一个对象:var obj={} 等价于var obj=new object(); 使用对象字面量,可以直接指定对象中的属性。 语法:{属性名:属性值,属性名:属性值...} 例子:var obj={name:"asfas",sex="男"} 对象字面量的属性名可以加引号也可以不加,属性名和属性值是一组一组的名值对结构。名和值之间使用:连接 函数: 函数也是一个对象。 函数中可以封装某一些功能(代码),在需要时执行这些功能(代码) 创建一个函数对象: var fun=new Function() 可以将要封装的代码以字符串形式传递给要封装的函数 封装到函数中的代码不会立即执行。 语法:function 函数名(){ }

优秀的个人博客,低调大师

JavaScript学习(五)

目录 条件判断语句: if语句: if...else语句 switch语句 while语句 do...while语句 for循环语句 跳转语句: continue语句 break语句 条件判断语句: if语句: if条件判断语句是最基本、最常用的流程控制语句,可以根据条件表达式的值执行相应的处理。 简单的if语句的语法格式如下: if(expression){ statement 1 } expression:必选项,用于指定条件表达式,可以使用逻辑运算符。 statement 1:用于指定要执行的语句序列。当expression的值为true时,执行该语句序列,简单if语句的执行流程如下图。 if...else语句 if...else语句是if语句的标准形式,在if语句简单形式的基础之上增加一个else从句,当expression的值是false时则执行else从句中的内容。 if...else语句格式如下: if(expression){ statement 1 } else{ statement2 } 在if语句的标准形式中,首先对expression的值进行判断,如果它的值是true,则执行statement1语句块的内容,否则执行statement2语句块中的内容。 switch语句 switch语句是典型的多路分支语句,其作用与嵌套使用if语句基本相同,但switch语句比if语句更具有可读性,而且switch语句允许在找不到一个匹配条件的情况下执行默认的一组语句。 switch语句语法格式如下: switch(expression){ case judgement 1; statement 1; break; case judgement 2; statement 2; break; case judgement n; statement n; break;.... } expression:任意的表达式或变量。 judgement:任意的常数表达式。当expression的值与某个judgement的值相等时,就执行此case后的statement语句。 break:用于结束switch语句,从而使javascript只执行匹配的分支。 while语句 while(expression){ statement } expression:一个包含比较运算符的条件表达式,用来指定循环条件。 statement:用来指定循环体,在循环条件的结果为true时,重复执行。 do...while语句 do{ statement }while(expression); statement:用来指定循环体,循环开始时首先被执行一次,然后在循环条件的结果为true时,重复执行。 expression:一个包含比较运算符的条件表达式,用来指定循环条件。 for循环语句 for(initialize;test;increment){ statement } initialize:初始化语句,用来对循环变量进行初始化赋值。 test:循环条件,一个包含比较运算符的表达式,用来限定循环变量的边限。如果循环变量超过了该边限,则停止该循环语句的执行。 increment:用来指定循环变量的步幅。 statement:用来指定循环体,在循环条件的结果为true时,重复执行。 跳转语句: continue语句 continue语句和break语句类似,不同之处在于,break语句退出循环,而continue语句用于中止本次循环,并开始下一次循环。其语法格式如下: continue; continue语句只能应用在while,for,do...while语句中。 break语句 break语句用于退出包含在最内层的循环或者退出一个switch语句。break语句语法格式如下: break; break语句通常用于for,while,do...while或switch语句中。

优秀的个人博客,低调大师

JavaScript学习(六)

目录 函数 函数的定义 函数的调用 函数的简单调用 在事件响应中调用函数 通过超链接定义函数 函数参数的使用 使用函数的返回值 嵌套函数 递归函数 javascript中的内置函数 (1)parseInt()函数: (2)parseFloat()函数 (3)isNaN()函数 (4)isFinite()函数 (5)encodeURI()函数 (6)decodeURI()函数 Function()构造函数与函数直接量 函数 函数的定义 在javascript中,函数是由关键字function 、函数名加一组参数以及置于大括号中需要执行的一段代码定义的。基本语法如下: function functionName(【parameter 1、parameter 2...】){ statement; [return expression;] } functionName:必选项。用于指定函数名。在同一个页面中,函数名必须是唯一的,并且区分大小写。 parameter:可选性。用于指定参数列表。当使用多个参数时,参数间使用逗号进行分隔。一个函数最多可以有255个参数。 statement:必选项。是函数体,用于实现函数功能的语句。 expression:可选项。用于返回函数值。expression为任意表达式变量或常量。 函数的调用 函数的简单调用 函数的定义语句通常会放在HTML文件的<head>段中,而函数的调用语句通常被放在<body>段中,如果在函数定义前调用函数,执行将会出错。函数的定义及调用语法如下: <html> <head> <script type="text/javascript"> function functionName(parameters){ some statement; } //定义函数 </script> </head> <body> functionName(parameter);//调用函数 </body> </html> functionName:函数名称 parameter:参数名称 在事件响应中调用函数 当用户单击某个按钮或选择某个复选框时都将触发事件,通过编写程序对事件做出反应的行为称为响应事件,在javascript语言中,将函数与事件相关联就完成了响应事件的过程。如当用户单击某个按钮时执行相应的函数。 <html> <head> <meta charset="utf-8"> <title>JS基本语法</title> <script type="text/javascript"> function test(){ //定义函数 alert("test"); } </script> </head> <body> <form action="" method="post" name="form1"> <input type="button" value="提交" onclick="test();"> //在按钮事件触发时调用自定义函数 </form> </body> </html> 通过超链接定义函数 函数除了可以在响应事件中被调用外,还可以在超链接中被调用。在<a>标记中的<href>标记中使用"javascript:关键字"超链接来调用函数,当用户单击该超链接时,相关函数将被执行。下面的代码实现了通过超链接接调用函数。 <html> <head> <meta charset="utf-8"> <title>JS基本语法</title> <script type="text/javascript"> function test(){ //定义函数 alert("test"); } </script> </head> <body> <a href="javascript:test()">test</a> <!--在超链接中调用自定义函数--> </body> </html> 函数参数的使用 function 自定义函数名(形参1,形参2...){ 函数体 } 定义函数时,在函数名后面的圆括号内可以指定一个或多个参数(参数之间用“,”分隔)。指定参数的作用在于,当调用函数时,可以为被调用函数传递一个或多个值。 在定义函数时指定的参数被称为形式参数,而把调用函数时实际传递的值称为实际参数。 使用函数的返回值 有时需要在函数中返回一个数值供在其他函数中使用,为了能够返回给变量一个值,可以在函数中添加return语句,将需要返回的值赋予变量,最后将此变量返回。 <script type="text/javascript"> function functionName(parameters){ //定义函数 var results=somestaments; return results; } </script> results:函数中的局部变量 return:函数中返回变量的关键字。(返回值在函数调用中不是必须的) 嵌套函数 所谓的嵌套函数就是在函数内部再定义一个函数,这样定义的优点在于可以使内部函数轻松获得外部函数的参数以及函数的全局变量等。 语法: <script type="text/javascript"> function functionName(parameter1,parameter2){ //定义函数 function innerFunction(){ somestatements; } } </script> functionName:外部函数名称 innerFunction:内部函数名称 递归函数 所谓递归函数就是函数在自身的函数体内调用自身,使用递归函数时一定要当心,处理不当将会使程序进入死循环,递归函数只能在特定的情况下使用,如处理阶乘问题。 语法: <script type="text/javascript"> function functionName(parameter1){ //定义函数 function functionName(parameter2){ } } </script> javascript中的内置函数 在使用javascript语言时,除了可以自定义函数之外,还可以使用javascript的内置函数,这些内置函数是由javascript语言自身提供的。 (1)parseInt()函数: 主要将首位为数字的字符串转换成数字,如果字符串不是以数字开头,那么将返回NaN. 语法:parseInt(StringNum,[n]) StringNum:需要转换成整型的字符串。 n:提供在2-36之间的数字表示所保存数字的进制数。这个参数在函数中不是必需的。 (2)parseFloat()函数 parseFloat()函数主要将首位为数字的字符串转换成浮点型数字,如果字符串不是以数字开头,那么将返回NaN. 语法:parseFloat(StringNum) StringNum:需要转换成浮点型的字符串。 (3)isNaN()函数 语法:isNaN(Num) Num:需要验证的数字。 (4)isFinite()函数 isFinite()函数主要用于检验某个表达式是否为无穷大。 语法:isFinite(Num) Num:需要验证的数字。 (5)encodeURI()函数 encodeURI()函数主要用于返回一个URI字符串编码后的结果。 语法:encodeURI(url) url:需要转换为网络资源地址的字符串。 (6)decodeURI()函数 decodeURI()函数主要用于将已编码为URI的字符串解码成最初的字符串并返回。 decodeURI(url) url:需要解码的网络资源地址。 Function()构造函数与函数直接量 除了使用基本的function语句定义函数之外,还可以使用另外两种方式来定义,即使用Function()构造函数和函数直接量定义。 构造函数Function()允许在运行时动态创建和编译javascript代码,而函数直接量却是程序结构的一个静态部分,就像函数语句一样。 每次调用构造函数Function()都会解析函数体,并且创建一个新的函数对象。 Function()创建的函数使用的不是静态作用域,相反的,该函数总是被当作顶级函数来编译。 function maskingKeyboard(){ if(event.keyCode==8){ //判断是否为Backspace键 event.keyCode=0; event.returnValue=false; aler("当前设置不允许使用Backspace键"); } if(event.keyCode==13){ //判断是否为Enter键 event.keyCode=0; event.returnValue=false; aler("当前设置不允许使用Enter键"); } if(event.keyCode==116){ //判断是否为F5键 event.keyCode=0; event.returnValue=false; aler("当前设置不允许使用F5刷新键"); } //判断是否为Alt+方向键←或方向键→ if((event.altKey)||((window.event.keyCode==37)||(window.event.keyCode==39)){ event.returnValue=false; aler("当前设置不允许使用Alt+方向键一或方向键→"); } if(event.ctrlKey)&&(eventkeyCode==78){ //判断是否为Ctrl+N快捷键 event.returnValue=false; alert("当前设置不允许使用Ctrl+N新建IE窗口") } if(event.shiftKey)&&(event.keyCode==121){ //判断是否为Ctrl+N快捷键 event.returnValue=false; alert("当前设置不允许使用Shift+F10"); } } function rightKey(){ if(event.button==2){ event.returnValue=false; alert("禁止使用鼠标右键! "); } } document.onmousedown=rightKey(); document.onkeydown=maskingKeyboard();

优秀的个人博客,低调大师

JavaScript学习(练习)

练习:用户登录界面 代码: <script type="text/javascript"> function check(){ var name=form1.user.value; //获取用户添加的用户名信息 var pwd=form1.pwd.value; //获取用户添加的密码信息 if((name=="")||(name=null)){ //判断用户名是否为空 alert("请输入用户名!"); form1.user.focus(); //用户名文本框获取焦点 return; }else if((pwd=="")||(pwd=null)){//判断密码是否为空 alert("请输入密码!"); form1.pwd.focus(); //密码文本框获取焦点 return; }else{ form1.submit(); //提交表单 } } </script> <body> <form name="form1" method="post" action=""> <table border="1" cellspacing="0" cellpadding="0" bordercolor="#FFFFFF" bordercolordark="#CCCCCC" bordercolorlight="#FFFFFF"> <tr> <td height="30" colspan="2" bgcolor="antiquewhite">用户登录</td> </tr> <tr> <td width="59" height="30">用户名:</td> <td width="162"><input name="user" type="text" class="user"></td> </tr> <tr> <td height="30">密 码</td> <td><input name="pwd" type="text" class="pwd"></td> </tr> <tr> <td height="30" colspan="2" align="center"> <input name="button" type="button" class="btn_grey" value="登录" onclick="check()"> &nbsp; <input name="Submit2" type="reset" class="btn_grey" value="重置"> </td> </tr> </table> </form> </body> 练习:星期获取系统 <script type="text/javascript"> var now=new Date(); var day=now.getDay(); var week; switch(day){ case 1: week="星期一"; break; case 2: week="星期二"; break; case 3: week="星期三"; break; case 4: week="星期四"; break; case 5: week="星期五"; break; case 6: week="星期六"; break; case 7: week="星期七"; break; } document.write("今天是"+week); </script>

优秀的个人博客,低调大师

JavaScript学习(四)

一元运算符:只需要一个操作数。 + 正号:正号不会对我们的数值产生任何影响 - 负号:负号可以对数值进行负号取反 正负号都可以将数值类型转换成number,原理和number()函数一样。 自增和自减: 自增:可以使变量在自身的基础上+1 运算符:++ 自增分为2种,a++和++a 对于原变量来说是没有区别的,都会使原变量的值+1 不同的是a++和++a的值不同:a++的值等于自增前的值,++a的值等于自增后的值 自减:可以使变量在自身的基础上-1 运算符:-- 逻辑运算符: !非 :可以用来对一个值进行非运算----------为任意数值进行两次非运算,可以转化为布尔值 &&与 :可以对符号两边的值进行与运算并返回结果---两个值中只要有一个为false就返回false ||或 :可以对符号两边的值进行或运算并返回结果---两个值中只要有一个为true就返回true 赋值运算符: =等于:可以将右侧数值赋值给左侧的变量 +=:a=a+5可以转变为a += 5 -=:a=a-5等价于a -= 5 *=:a=a*5等价于a *= 5 /=:a=a/5等价于a /= 5 %=:a=a%5等价于a %= 5 关系运算符: 通过关系运算符可以比较两个值之间的关系。 如果关系成立将会返回true,如果关系不成立将会返回false。 >大于号 <小于号 >=大于等于 <=小于等于 非数值比较时会将其转化为数值再进行比较 任何值和NaN做任何比较都返回false。 如果符号两侧的值都是字符串,它不会将其转换成数字进行比较,会分别比较字符串中字符的Unicode编码大小。 比较字符编码时是一个一个进行比较的,如果两位一样则比较下一位。 Unicode编码: 输出编码:console.log(" \u四位编码 "); 在网页中输入Unicode编码:&#编码,这里的编码需要转化为10进制的 相等运算符: 运算符:== 用来比较两个值是否相等,如果相等返回true,不相等返回false 当使用==来比较时,如果值的类型不同,则会自动进行转化成相同类型,然后再比较。 undefined衍生自null,两者做==判断将会返回true。 条件运算符(三元运算符): 语法:条件表达式?语句1:语句2 执行流程:首先对条件表达式进行求值,如果返回true,则执行语句1;如果返回false,则执行语句2

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册