js01

mac2022-06-30  37

浏览器内置了javaScript的解析器javaScript是脚本语言,不用编译,运行在浏览器上面javaScript简称js


 

js是基于事件驱动型的编程语言,当发生某个特殊的事件的时候执行一段特殊的程序。每一个js事件都会对应一个事件句柄,事件句柄的名称是:on+事件名。eg:click是鼠标单击事件,onclick是鼠标单击事件句柄。

js中的函数 ,有没有返回值随意,函数传不传参数随意function sum(a,b){}

js中函数没有重载机制,在同一个js中,函数名不能重名。

js程序的调试方法:1.使用原始方式:alert()2.使用浏览器的调试模式


 

一.js数据类型包括以下几种:5种   Undefined     包括具体的值:undefined (初始化,但是没有赋值,就是undefined)  String     包括具体的值:'a',"a","abc",'def'.....   Number     包括具体的值: 1,2,3,1.0,2.0,3.14,NaN,Infinity.....   Boolean     包括具体的值: true,false   Object     包括具体的值: new Object(),new Date(),null...... 在js中有一个运算符,非常重要,typeof 运算符   typeof运算符在程序运行时动态的判断变量的数据类型   typeof运算符的使用规则:typeof 变量名   typeof运算符运算结果的类型是以下6种结果中的其中一个:typeof运算结果是字符串类型   "undefined","number","string","object","boolean","function"

1.String 类型相关的属性

  prototype属性可以动态的给string类型扩展方法和属性   substr()和substring()属性都是截取   substr(起始下标,长度)   substring(起始下标,结束下标) 不包括结束下标

    eg: var name="abcd".substring(1,2);        alert(name);

       replace("","");属性可以替换               eg: alert("2018-01-03".replace("-","/"));

 

2.Number 类型相关的属性

在js中不管是整数还是浮点,都是Number数据类型  eg:  var a = 10;    var b = 2.0;               alert(a/b); 重要的函数: isNaN(数据) isNaN函数的执行结果是true/false 该函数用来判断数据是否是一个数组,不是是true,是数字是false 全拼:is Not a Number  eg:  var a = "abc";    var b = 10;    alert(a/e); //true

 

3.Boolean 类型相关的属性

只有2个值,true,false Boolean类型的数据还是主要使用在逻辑运算,或者条件控制语句中 js中=、==、===的区别:   = 赋值   == 比较值是否相等   === 比较值是否相等,同时要求数据类型也要相同

 总结:     ===更加严格

4.Object 类型   js也是面向对象的编程语言   定义类   定义函数,把这个函数当做一个类来看eg:   User = function(a,b){ //function user(a,b) {   this.id = a;   this.name = b;   }   var c = new Employee(111,"lisi");   alert(c.id+"--------"+c.name)   //给Employee动态的扩展一个方法   Employee.prototype.work = function(){   alert(this.name+"is Woriking!");   };   c.work();

 

问题:undefined  ,  null ,NaN 三者有什么区别?  1.首先他们的数据类型都是不一样的eg:   alert(typeof undefined);   //"undefined"   alert(typeof null);   //"object"   alert(typeof NaN);  //"number"  2.undefined和null属于:值相等eg:   alert(undefined == null);  //true   alert(null == NaN);  //false   alert(undefined == NaN);  //false


二.JS控制语句和java基本是一样的   if   switch   do...while   while   for   for...in   break和continue   with


三 js中的数组

JS中内置了一个对象Arrayeg:   var myArray=[1,23,4,55,66];   alert(myArray.length); //长度   for(var i =0;i<myArray.length;i++){ //遍历     alert(myArray[i]);   }动态初始化eg:   myArr = new Array(5);   myArr[0]=false;   myArr[1]="abc";   myArr[2]=100;   myArr[3]=1.0   myArr[4]=new Object();   for(var i =0;i<myArr.length;i++){ //遍历     alert(myArr[i]);   }数组中常用的方法:join() 以特殊的符号链接数组中的每一个元素,最后生成一个字符串reverse() 反转数组中的元素pop() 将数组中最右边的元素删除push() toString()

eg:var a = [1,"abc",false,3.0];

//join方法的作用,以特殊的符号链接数组中的每一个元素,最后生成一个字符串 var str=a.join("-"); alert(str); //1-abc-false-3

 


获取文本框的思路:第一步先获取整个文本框的节点,第二步获取文本框节点的value详细:

通过元素的id获取该节点document内置对象,属于DOM对象,下面属性dom编程document有一个方法可以通过id获取元素:document.getElementById("xxx")

如果,input文本框中有value属性,所以可以使用这种语法也是可以获得文本框的值: 元素对象.valuevar username = document.getElementById("xxx").value;alert(username);eg: 完整列子,通过id拿到一个文本框的值<!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title><script type="text/javascript">   function getUsername(){     var username = document.getElementById("username").value;     alert(username);   }</script></head><body>   <input type="text" id="username"/>   <input type="button" value="提交" οnclick="getUsername();"/></body></html>

 


完整列子,通过name获得所有复选框的值<!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title><script type="text/javascript">   function getAllCheckboxValue(){     //1.获取所有的复选框     //通过name获取所有的控件,name在一个html页面中是可以重名的     var allCheckboxs = document.getElementsByName("interest");     // alert(allCheckbox.length); //5     

    //2.遍历数组,获取每一个复选框的节点,获取复选框节点的value     for(var i=0;i<allCheckboxs.length;i++){       //alert(allCheckbox[i]);       var checkboxObj = allCheckboxs[i];       alert(checkboxObj.value);     }   }</script></head><body>     看书<input type="checkbox" name="interest" value="lookbook"/>     学习<input type="checkbox" name="interest" value="study"/>     英语<input type="checkbox" name="interest" value="english"/>     睡觉<input type="checkbox" name="interest" value="sleep"/>     水果<input type="checkbox" name="interest" value="food"/>     <br><br>     <input type="button" value="提交" οnclick="getAllCheckboxValue();"/ ></body></html>

 


js中万能的属性之一 innerHTML   //innerHTML属性可以设置元素中的html代码,也就是向页面写东西。   var xxx = document.getElementById("input或div的id元素");   xxx.innerHTML="新年快乐!";

  //也可以获取该元素中的HTML的代码   alert(xxx.innerHTML);

 


全选和取消全选类似于这种的都是发生了鼠标的单击事件onclick

<!DOCTYPE html><html><head><meta charset="utf-8"><title>全选和取消全选(runoob.com)</title><script type="text/javascript">   function checkOrCancelAll(){     //1.获取checkbox的选中状态     //1.1获取checkbox的元素     var chkElt = document.getElementById("chkElt");

    //1.2.设置选中状态     var checkedState = chkElt.checked;//checked属性可以获取复选框的选中状态,又可以设置不选中的状态。

    //2如果checked=true,将所有的复选框选中,若checked=false,将所有的复选框取消选中。     //2.1获取所有的复选框     var allInterests = document.getElementsByName("interest");

    //2.2循环遍历取出每一个复选框的对象     if(checkedState){       //全选       for(var i = 0;i<allInterests.length;i++){       //设置复选框的选中的状态       allInterests[i].checked = true;       }     }else{     //取消全选     for(var i = 0;i<allInterests.length;i++){     allInterests[i].checked = false;     }   } } </script></head><body>   <input type="checkbox" id="chkElt" οnclick="checkOrCancelAll();" />全选<br>   看书<input type="checkbox" name="interest" value="lookbook"/><br>   学习<input type="checkbox" name="interest" value="study"/><br>   英语<input type="checkbox" name="interest" value="english"/><br>   睡觉<input type="checkbox" name="interest" value="sleep"/><br>   水果<input type="checkbox" name="interest" value="food"/><br></body></html>

 


全选和取消全选 的另一种方式,加了一个span<!DOCTYPE html><html><head><meta charset="utf-8"><title>全选和取消全选(runoob.com)</title><script type="text/javascript"> function checkOrCancelAll(){ //1.获取checkbox的选中状态 //1.1获取checkbox的元素 var chkElt = document.getElementById("chkElt"); //1.2.设置选中状态 var checkedState = chkElt.checked;//checked属性可以获取复选框的选中状态,又可以设置不选中的状态。 //2如果checked=true,将所有的复选框选中,若checked=false,将所有的复选框取消选中。 //2.1获取所有的复选框 var allInterests = document.getElementsByName("interest"); //2.2循环遍历取出每一个复选框的对象 var mySpan = document.getElementById("mySpan"); if(checkedState){ //全选 for(var i = 0;i<allInterests.length;i++){ //设置复选框的选中的状态 allInterests[i].checked = true; } mySpan.innerHTML="取消全选"; }else{ //取消全选 for(var i = 0;i<allInterests.length;i++){ allInterests[i].checked = false; } mySpan.innerHTML="全选"; } } </script></head><body> <input type="checkbox" id="chkElt" οnclick="checkOrCancelAll();" /> <span id="mySpan">选中</span><br>

看书<input type="checkbox" name="interest" value="lookbook"/><br> 学习<input type="checkbox" name="interest" value="study"/><br> 英语<input type="checkbox" name="interest" value="english"/><br> 睡觉<input type="checkbox" name="interest" value="sleep"/><br> 水果<input type="checkbox" name="interest" value="food"/><br></body></html>


Js中日期的处理eg:<script type="text/javascript"> var NewDate = new Date(); //系统当前的时间 alert(NewDate); var year = NewDate.getFullYear();//年,这个getFullYear可以防止千年虫的问题 alert(year); var time = NewDate.getTime(); //秒 alert(time);</script>


时针的列子load 事件onload 事件句柄 1.当整个html页面全部加载完毕之后,load事件发生 2.onload事件句柄需要编写到body标签中

eg:<!DOCTYPE html><html><head><meta charset="utf-8"><title>获取时间(runoob.com)</title><script type="text/javascript"> start = function(){ window.setInterval("displayTime()",1000); // 让时间每秒动一下 } function displayTime(){ //1.获取div元素 var timeDiv = document.getElementById("timeDiv"); //2.获取系统时间 var nowTime = new Date(); var strNowTime = nowTime.toLocaleString(); //将时间转换为本地字符串 //3.将系统时间设置到div元素中 timeDiv.innerHTML = strNowTime; } </script></head><body οnlοad="start();"> <div id="timeDiv"/></body></html>

 


js的事件 可以看下这个 http://www.cnblogs.com/tugenhua0707/p/4501843.html


 

js表单的验证

1.表单验证的时候,尽量不要在点击注册按钮或者提交或者确定按钮的时候才验证,最好用户填写一个验证一个,这样的设计比较人性化 2.让我们的表单失去焦点的时候就验证信息   验证通过,不显示任何信息,验证失败,就提示错误信息,将错误信息显示到文本框的右边 3.失去焦点的事件是:blur事件, 事件的句柄:onblur 4.调用验证方法,将用户名传递给该方法: this.value 5.验证那些?   验证用户名不能为空   验证用户名的长度必须【6-14】 6.文本框获取焦点的事件focus ,句柄onfocus


string类型的扩展---trimtrim去掉前后空格eg:<script type="text/javascript"> var s = " abc def d "; s = s.trim(); alert("嘻嘻"+s); //嘻嘻abc def d</script>


js中怎么创建正则表达式对象呢? 第一种方式常用: var regexp = /正则表达式flag; 第二种方式: var regexp = new RegExp("正则表达式","flag"); 注:flag可选值:i,g,m i:忽略大小写 g:当前行所有数据 m:支持多行搜索 i,g,m可以合并使用

正则表达式对象中有一个很重要的方法,叫做test!!!!!!eg: var regexp = /正则表达式/; var retValue = regexp.test(字符串); // retValue结果是true 或 false ,true是表明字符串和正则相匹配eg:一个邮箱完整的列子:<!DOCTYPE html><html><head><meta charset="utf-8"><title>校验(runoob.com)</title><script type="text/javascript"> function checkEmail(email){ var emailRegExp=/^\w+([\.-]?\w+)*@\w+([\.-]?\w)*(\.\w{2,3})+$/; var ok = emailRegExp.test(email); //传进来的参数与正则进行匹配,得到一个结果,结果有两种情况,匹配或不匹配 var emailError = document.getElementById("emailError"); //获取提示的id if(ok){ emailError.innerHTML=""; //匹配 }else{ emailError.innerHTML="<font color='red'>邮箱的格式不正确</font>"; //不匹配 } }</script></head><body > 邮箱地址<input type="text" name="email" οnblur="checkEmail(this.value)"> <span id="emailError"></span> //这个地方是留给提示的,错了提示就会出来</body></html>

 

转载于:https://www.cnblogs.com/PinkPink/p/8385929.html

最新回复(0)