JavaScript

JavaScript: 能够操作页面上的标签,即可作为前端语言,也可作为后端语言 

     

       javaScript的基础语法:

                 1)基本类型:

                                   number 数字类型, 1.0  100
                                   string 字符串类型 "hello"  'world'
                                   null   空值
                                   undefined  未定义  比如一个变量还没有赋值
                                   布尔类型 true false

 

                        javaScript的 变量 是弱类型, 但 值 有类型

                                   var a = 10 ;  //  var 可以表示任意类型的变量

                                   var s = "string" ;   

           

                  2)复杂类型:

                           (1)数组

                                                   var  arr  =  new  Array() ;   // 新建一个 空数组

                                                   var  arr  =   [ ] ;                   // 新建一个 空数组

                                                   var  arr  =   [1,2,3,4,5] ;      // 新建一个有五个元素的数组 

                                         访问数组: 通过下标来访问数组

                                         遍历数组: for 循环

                                                    方式一: for(var i=0; i<arr.length; i++){

                                                                             console.log( arr[i] );  // 在控制台打印数组

                                                                   }      

                                                    方式二:  for(var i   in  arr){

                                                                             console.log( arr[i] );

                                                                  }

 

                                          添加元素: 

                                                  .push( 元素 ) : 向数组的 尾部 添加一个元素                                   

                                                  .unshift() : 向数组的 头部 添加一个元素              

                                           删除元素:

                                                 .pop() : 从数组的 尾部 去除一个元素

                                                 .shift(): 从数组的 头部 取出一个元素

                                                 .splice(m,n):   m: 要删除的下标, n: 删除的个数

                                           排序:

                                                   .sort(): 默认排序,按照字符串的排序,单个字符进行比较排序

                                                   .sort( (a,b) => { a-b }): 将字符串排序转化为自然排序,从小到大

                  (2)对象

                                    var  o =  new Object() ;   // 创建一个空对象

                                    o.name= " chen ";  // js的对象属性 可动态添加 和 删除   (delete o.name 删除对象的属性) 

                                    o.age = 18 ;                          

                                   简化写法:
                                             var a = {}; //创建一个空对象
                                             格式: { 属性名:属性值, 属性名:属性值 ...}

                                                例:   var a = {"name":"张三", "age":18}; // 属性名两边的双引号可以省略

                  (3)函数

                                  定义 : function   函数名(  参数列表 ) {

                                                          函数体;

                                                }                         

function sum (a, b) {
	return a + b;
}

 // 等价写法 
var sum = function (a, b) { // 匿名(没有名字的函数)
	return a + b;
}

调用函数 sum(5, 4);

                              注意: 

                                           1. js中的 实际参数 可以不与 形参 匹配

                                                      sum(4,5,6)
                                                      sum(4,5,6,7)
                                                      sum(4); // 4+undefined = NaN  (not a number)

                                           2. 如果定义了两个同名函数,后定义 的会覆盖 前面定义的。

 

                  (4)日期:                     

                                          var date = new Date();
                                          date.getFullYear(); // 获取年份
                                          date.getMonth();    // 获得月份(从0开始)
                                          date.getDate();     // 获取日期

                                          var date = new Date(1535445539597); // 根据毫秒值创建日期

                 (5)正则表达式:

                                          var reg = new RegExp("正则表达式"); // 用new来创建
                                         简化写法
                                                     var reg = /正则表达式/;    

                                            例:验证是否是手机号码
                                                      var reg = /^1[35789][0-9]{9}$/;

                                         替换功能  :  字符串对象.replace(reg , "替换内容");
                                                      var str = "aaaabbbcccaaa";
                                                      str.replace(/a+/, "A");    // 只会替换第一个匹配到的子串
                                                      str.replace(/a+/g, "A");  // 会替换所有匹配的子串

                                        匹配功能:

                                                     reg.test("目标字符串"); // true, false             

                      

 

  操作页面中的标签: <script>   js代码  </script>

              DOM API : Document  Object  Model  文档对象模型

                                   可以把整个html视为一个树状结构,html中的每个标签都是树上的一个节点
                        document 
                                |- html
                                          |-head
                                                    |-meta 
                                                    |-title
                                                    |-style
                                                    |-script
                                         |-body
                                                    |-p
                                                    |-form
                                                    |-table
                                                    |-ul

              

              (1) 查找元素
                              document.getElementById( 标签id值 );                 // 在设计id时要避免重复,id的取值应当唯一
                              document.getElementsByTagName( 标签名字 ); // 根据标签的名字查找多个元素
                              父元素.getElementsByTagName( 标签名字 );     // 查找从属于此父元素的所有与标签名称符合的子标签,                                                                                                                         缩小了查找范围

                        通过选择器语法进行查找
                                       #id, .class值,  元素

                            document.querySelector( "选择器" );         // 查找与选择器匹配的标签, 匹配第一个
                            document.querySelectorAll( "选择器" );     // 查找与选择器匹配的标签, 匹配所有

             (2) 修改 
                        1: 修改内容
                                      .innerText     在赋值时,把字符串当做普通文本处理,                                                                                                                                           如果字符串中包含了html标签,那么这些标签会照原样输出
                                      .innerHTML  在赋值时,把字符串当做html代码处理,会解析html标签再显示
                         2: 修改属性
                                     .属性名 = "新值";
                         3: 修改样式
                                     .className="新class"        // 对应访问class属性 (推荐使用class属性修改样式)
                                     .style.具体样式名="新值";   // 注意style 优先级较高,会覆盖其它样式
    
              (3) 删除
                          父元素.removeChild( 子元素 );
             

              (4) 新增
                          父元素.appendChild(子元素);        // 建立父子元素关系
                          document.createElement("标签"); // 创建新的标签元素

 

 DOM事件:

        鼠标:

                 鼠标单击事件 onclick
                 鼠标双击事件 ondblclick
                 鼠标移入事件 onmouseover
                 鼠标移出事件 onmouseout  
                 鼠标点击事件 onmousedown   

        光标:

                光标移入事件(获得焦点)  onfocus
                光标移出事件(失去焦点)  onblur
                值改变事件 onchange

        键盘:

                onkeydown   按下按键时     onkeydown捕获的 keyCode 不区分字母大小   可以识别特殊字符
                onkeypress   按下按键时     onkeypress捕获的 keyCode 区分大小写          只能识别可打印字符
                onkeyup        松开按键时

               keydown先发生  >    onkeypress  再发生 > onkeyup 最后发生
       
        事件对象:    window.event 事件发生时的所有跟事件相关联的信息     可以简写为 event

                  event.preventDefault();    // 阻止标签的默认行为
                                设计一个文本框,只能输入数字 (可以利用 event.preventDefault())

                  event.stopPropagation(); // 停止事件冒泡
                               事件冒泡就是指:在子标签上触发的一个事件,会沿着标签的包含关系,逐级向上传播

        this 对象: 在javascript中, this代表触发了事件的标签对象

                 例:  < input type="button" value="添加" οnclick="add(this)" >   // this 代表 当前的 < input >按钮

  

BOM :  Browser Object Model 浏览器对象模型

            window 代表整个浏览器窗口对象
                          .alert("提示的文字");                      // 弹出对话框窗口
                          .confirm("提示的文字");                 // 弹出确认框窗口 如果点击了确定,返回true,点击了取消返回false
                          .setTimeout(函数名称, 毫秒值);    //  延时执行一个函数,返回一个数字                                                                                            .clearTimeout(n);                          // 根据setTimeout返回的数字,可以使用clearTimeout清除延时效果                                            .setInterval(函数名称, 毫秒值);     // 根据时间间隔执行函数
                          .clearInterval()                              // 取消间隔执行

            location 对浏览器地址栏的抽象
                         location.href           //用来获取或改变地址栏的值
                         location.reload();    // 刷新页面

            history 浏览历史                                                                                                                                                                                               history.back();         // 返回上一个网页
                         history.forward();    //  进入下一个网页

 

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值