首頁 > web前端 > js教程 > 不為人知的JavaScript熱門基礎知識大全 (收藏)

不為人知的JavaScript熱門基礎知識大全 (收藏)

php是最好的语言
發布: 2018-07-24 09:22:07
原創
1267 人瀏覽過

學習JavaScript是很枯燥又頭痛的,本文帶你加深基礎知識的印象,以後學習會用到的,需要的就收藏下來吧。

一、js內建物件

    (1)Number
        建立方式:        

var myNum=new Number(value);
var myNum=Number(value);
登入後複製
## 

            valueOf():傳回一個Number 物件的基本數字值
    (2)Boolean
         toString():轉成字串
            valueOf():傳回一個Boolean 物件的基本值(boolean)            
   (3) 建立屬性:與方法:

            length:字串的長度

            charAt():返回索引字元
            charCodeAt:返回索引字元unicode
   lastIndexOf();反向回傳字元的索引
            split();將字串依照特殊字元切割成陣列
            substr():從起始索引號碼擷取字串中指定數目的字元

            substring():擷取字串中兩個指定的索引編號之間的字元

            toUpperCase();轉大寫
        範例:
    (4)Array
          length:陣列長度
            join() :把陣列的所有元素放入一個字串。元素透過指定的分隔符號分隔一個
            pop():刪除並傳回最後元素
            push():移除;反轉數組
            sort();排序
    (5)Date
        創建方式:   
#

    var myDate = new Date();
    var myDate = new Date(毫秒值);//代表从1970-1-1到现在的一个毫秒值
登入後複製

属性和方法
getFullYear():年
getMonth():月 0-11
getDate():日 1-31
getDay():星期 0-6
getTime():返回1970年1月1日午夜到指定日期(字符串)的毫秒数
toLocalString();获得本地时间格式的字符串

(6)Math
创建方式:
Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,
不是某个对象的方法。您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。
属性和方法
PI:圆周率
abs():绝对值
ceil():对数进行上舍入
floor():对数进行下舍入
pow(x,y):返回 x 的 y 次幂
random():0-1之间的随机数
round():四舍五入
(7)RegExp
创建方式:
var reg = new RegExp(pattern);
var reg = /^正则规则$/;
规则的写法:
[0-9]
[A-Z]
[a-z]
[A-z]
\d 代表数据
\D 非数字
\w 查找单词字符
\W 查找非单词字符
\s 查找空白字符
\S 查找非空白字符
n+ 出现至少一次
n* 出现0次或多次
n? 出现0次或1次
{5} 出现5
{2,8} 2到8次
方法:
test(str):检索字符串中指定的值。返回 true 或 false
需求:
校验邮箱:

 var email = haohao_827@163.com
 var reg = /^[A-z]+[A-z0-9_-]*\@[A-z0-9]+\.[A-z]+$/;
 reg.test(email);
登入後複製

二、js的函数
1、js函数定义的方式
(1)普通方式
语法:function 函数名(参数列表){函数体}
示例:
function method(){
alert("xxx");
}
method();
(2)匿名函数
语法:function(参数列表){函数体}
示例:
var method = function(){
alert("yyy");
};
method();
(3)对象函数
语法:new Function(参数1,参数2,...,函数体);
注意:参数名称必须使用字符串形式、最后一个默认是函数体且函数体需要字符串形式
示例:
var fn = new Function("a","b","alert(a+b)");
fn(2,5);
2、函数的参数
(1)形参没有var去修饰
(2)形参和实参个数不一定相等
(3)arguments对象 是个数组 会将传递的实参进行封装
function fn(a,b,c){
//var sum = a+b+c;
//alert(sum);
//arguments是个数组 会将传递的实参进行封装
for(var i=0;i alert(arguments[i]);
}
}
fn(1,2,4,8);

3、返回值
(1)在定义函数的时候不必表明是否具有返回值
(2)返回值仅仅通过return关键字就可以了 return后的代码不执行
function fn(a,b){
return a+b;
//alert("xxxx");
}
alert(fn(2,3));

4、js的全局函数
(1)编码和解码
encodeURI() decodeURI()
encodeURIComponet() decodeURIComponent()
escape() unescape()
三者区别:
进行编码的符号范围不同吧,实际开发中常使用第一种
(2)强制转换
Number()
String()
Boolean()
(3)转成数字
parseInt()
parseFloat()
(4)eval()方法
将字符串当作脚本进行解析运行
//var str = "var a=2;var b=3;alert(a b)";
            //eval(str);
         );
            }
            print("自訂邏輯");
    
## 

 、js的常用事件

        onclick:點選事件
        onchange:網域內容改變的事件
           需求:實現二級連結或動態
##  

<select id="city">
                <option value="bj">北京</option>
                <option value="tj">天津</option>
                <option value="sh">上海</option>
            </select>
            <select id="area">
                <option>海淀</option>
                <option>朝阳</option>
                <option>东城</option>
            </select>
            <script type="text/javascript">
                var select = document.getElementById("city");
                select.onchange = function(){
                    var optionVal = select.value;
                    switch(optionVal){
                        case &#39;bj&#39;:
                            var area = document.getElementById("area");
                            area.innerHTML = "<option>海淀</option><option>朝阳</option><option>东城</option>";
                            break;
                        case &#39;tj&#39;:
                            var area = document.getElementById("area");
                            area.innerHTML = "<option>南开</option><option>西青</option><option>河西</option>";
                            break;
                        case &#39;sh&#39;:
                            var area = document.getElementById("area");
                            area.innerHTML = "<option>浦东</option><option>杨浦</option>";
                            break;
                        default:
                            alert("error");
                    }
                };                
                
            </script>
登入後複製


        onfoucus:获得焦点的事件
        onblur:失去焦点的事件
            需求:    当输入框获得焦点的时候,提示输入的内容格式
                    当输入框失去焦点的时候,提示输入有误
            
            
            
            
        onmouseover:鼠标悬浮的事件
        onmouseout:鼠标离开的事件
            需求:p元素 鼠标移入变为绿色 移出恢复原色
            #d1{background-color: red;width:200px;height: 200px;}
            


            
        
    
        onload:加载完毕的事件
            等到页面加载完毕在执行onload事件所指向的函数
            
            
        (3)將事件與反應行為與html標示完全分離

            
        
        ****this關鍵字
#            this經過事件的函數傳遞的是html標籤物件
            
               name);
                }
            
   
    3、阻止事件的預設行為
        IE:window.event.returnValue = false;
        W3c: 傳遞過來的事件物件.premDefault(); false;
        //W3c:傳遞過來的事件物件.preventDefault();
        //W3c標準
     3c");
            e .preventDefault();
        //IE標籤
        }else{
               }
        
        
        //透過事件回傳false也可以阻止事件的預設行為
        點我吧#/a/a>#; 4.阻止事件的傳播
        IE:window.event.cancelBubble = true;
W3c: 傳遞過來的事件對象.stopPropagation();
        if(e&&e.stopPropagation){
           alert("w3c");#.w3c.        //IE標籤
        }else{
            alert("ie");
          

四、js的bom
    (1)window物件
        彈方塊的方法:
            );
                有回值:若點選確認返回true  如果點選取消回傳false
           #     alert(res);
            輸入框:prompt("提示訊息");
                有回值:若點選確認傳回輸入方塊的文字點選取消回傳null
              alert(res );
        open方法:
            window.open("url位址");          與「11/p.p.p.            
        定時器:
setTimeout(函數,毫秒值);
                setTimeout(
                     alert("xx");
                    },
          );
            clearTimeout(定時器的名稱);
                var timer;
                 "x");
                    timer = setTimeout(fn,2000);
       #                var closer = function(){
                                  fn();
            setInterval(函數,毫秒值);
    ##                var timer = setInterval(
                function(){##         function(){##  ;
                },
                2000## unction(){
                clearInterval(timer);
            };
            };
         恭喜您註冊成功,5秒後跳到首頁,如果不跳轉請
點擊這裡
        

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板