js笔记(旧)

2016.3.15

JavaScript:广泛用于浏览器客户端的脚本语言

 

1.JS常见用途

HTML的DOM操作(节点操作,比如添加、修改、删除节点)即对标签元素进行动态的增删改查

DOM操作可访问 JavaScript HTML 文档的所有元素。

给html网页增加动态功能,比如动画

事件处理:比如监听鼠标点击、鼠标滑动、键盘输入

2.Node.js:

Node是一个JavaScript的运行环境(run time)是对Google V8引擎进行了封装

V8引擎执行JavaScript的速度非常快,性能也非常好

优势:

可以作为后台语言

单线程:不增加额外线程的情况下,依然可以对任务进行并行处理(采用事件轮询)

非阻塞I/O、V8虚拟机、事件驱动

 

3.Javascript的书写方式

3.1页内JS

     在当前网页的script标签中编写

<script type =“text/javascript”>

</script>

业内样式可以js的代码在script的两个尖括号之间写代码

3.2外部JS

<script src = “index.js”></script>

外部js样式,不能在js两个尖括号内些任何代码,如果想写的话,需要在下边再写一个js,在cijs中写

 

  alert('heeelo');

  alert("hello world");

alert中单引号双引号都可以,做好使用单引号

alert:是阻塞式操作

 

4.JS基本语法

 数据类型:

基本数据类型:

 number:整数,小数

 string:字符串类型

 boolean:true,false

 object:null(空)对象类型

拼接:

+连接

 

 

  var  number = 12;

    var  xiaoshunumber = 1144.45;

    var  name = 'aaa';

    name2 = 'ffff';

    boolez = false/*真是true*/

    var num = null;

    console.log(number,xiaoshunumber,name,name2,boolez);

    console.log(typeof number,typeof xiaoshunumber,typeof name,typeof boolez,typeof num);

    var  str1 = 'jack';

    var  str2 = 'rose';

    var  str3 = str1 + str2;

    console.log(str3);

 

运算顺序:自左向右;任何数据类型遇见string都会被转化为string类型

var  st1 = 10 + 10 +'10' + '10';

    var  st2 = '10' + '10' +10 + 10;

    var  st3 = (10 + 10) +'10' + '10';

    var  st4 = 10 + 10 +'10' + 10;

    console.log(st1,st2,st3,st4);

 

数组:数组直接用[]定义即可;数组内可以放任意类型

//    数组

    var array = ['aa',12,12.1,boolez,['vv',12]];

    console.log(array);

    for( var i =0 ;i < array.length; i++){

        console.log(array[i]);

    }

    console.log(array[4][0]);

 

5.js的函数

function 函数名(参数列表){

  函数体

return 返回

}

//虽有return,但是js得函数体是没有返回值类型的

JS的函数中,系统已经定义了一个名称为arguments的数组来接收这些元素,所以,函数的参数列表可以空着不写,调用此函数时再添加参数也可

    //万能加法加强版--方法2:js的函数参数中有一个系统的arguments数组来接收这些参数

   var sums = 0;

    function test(){

        for(var i = 0; i<arguments.length;i++){

            sums += arguments[i];

        }

        return console.log(sums);

    }

5.1匿名函数

//    匿名函数,即没有名称的函数,其实还是有名的只不过换了一种写法而已,将变量转嫁为变量名,再用此变量名来调用函数;在JS中变量是可以存放任何东西的,也可存放函数

    var  test2 = function(){

        console.log('----------');

    }

 

    test2();

6、js对象

     <script>

      //对象

//      不同属性之间用逗号隔开

//      var dog = {}

//  this 指的是当前对象

      var dog = {

//   js对象的属性格式是:键值对格式

          name:"wagncai",

          age:15,

          friends:['huahua','lulu','xixi'],

          run:function(){

              console.log(this.name + '狗狗在跑步');

          },

          eat:function(meat){

              console.log(this.name + '狗狗在吃' + meat);

          }

          /*以下方法不可用*/

//          sleep:function(){

//              console.log(this.name + '狗狗在' + arguments[0] + '睡觉');

//          }

      }

      console.log(dog.name);

      console.log(dog.friends);

      console.log(dog.friends[0]);

      for (var a in dog){

          console.log(a);

      }

//      js对象调用函数格式:对象.函数

      dog.run();

      dog.eat('五花肉');

//      dog.sleep('席梦思');

 

 

  </script>

 

7.批量产生对象序言

  构造方法

new+函数:就会产生一个对象

<script>

     function Dog(){

      console.log('qq-----');

 

     }

 

     Dog();

//new + 函数 是一个构造函数;如果没有new就是一个普通的函数

     var dog1 = new Dog();//[[Dog alloc]init];函数名前加new,则是新创建了一个Dog类型的对象

     console.log(typeof dog1);

 </script>

 

8.批量产生对象

 构造方法

注意了:js不批量产生对象的属性用键值对的形式

                js批量产生对象的构造方法格式的属性用=形式;二者不可换用

 

 

9:产生对象的方法:

  单个产生:键值对的方式赋值

           var dog = {  

                           name:"wagncai",

                            eat:function(meat){

                            console.log(this.name + '狗狗在吃' + meat);

                             }

                         }

  批量产生:等号方式赋值

          var Dog = function(name,age,height){

                                this.name =name;

                               this.age = age;

                              this.height = height;

                        this.eat = function(meat){

                      console.log(this.name + '在吃' + meat);

                       }

                

 

                            }     

                        var dog = new Dog('lulu',12,14);

 

 

 

 

10.JS的内置对象

    window

     (1)所有全局变量都是window的变量

     (2)所有全局函数都是window的函数

     (3)window对象可以实现跳转功能(html中的跳转用a标签;js中调用到oc的东西用window的跳转)

 

//拿到window中的内容

      function dog(){

          console.log(this);

      }

      dog();/*this在此代表window,在此可以拿到window中的内容*/

 

      var  dog = new dog();/*this在此代表dog对象*/

 

 

3.window对象可以实现跳转的功能

     window.location.href = 'http://www.520it.com';

     location.href = 'http://www.baidu.com';

 

3.17

js的内置对象:

1.windows

2.document

  在js中用document.write属性将内容写入html中   

点击button切换图片

   在body中添加标签和button,给button一个点击onclick属性的onclick事件,点击button更改图片

 ,更改图片时通过document的四中方法得到要更改的资源,并用变量接受,然后再给次比变量赋值

  注意:打印该接收document获得的对象,得到的是该对象代表值的路径

3.document获取对象的四种方法

  document.getElementById();                               根据id名

 document.getElementsByClass();            数组    根据类名

 document.getElementsByTagName();数组    根据标签名

 document.getElementsByName();          数组    根据内部标签的属性

 

 

btn.innerHTML//只拿到button的名称

btn.outerHTML//拿button尖括号开始到尖括号结束的内容

 

img标签是行内块级标签

 

4.

js定时器:

var timer = setIntervel(function(){执行的代码},多长时间执行一次)

删除定时器:

var timer = timerInterval(function(){}, 1000)

clearInterval(timer)

 

3.19

JS的CRUD

js的增删改查

1.增加(2种方法)

 方法一:通过write方法添加

 document.write(‘hello world’);

 document.write(‘<button>百度一下,你就知道</button>’);

 document.write(‘<input type = ‘date’>’);

 document.write(‘<img src=“img/img_01.jpg”>’);

 方法二:通过document的createElement()方法和appendChild()方法添加

 步骤如下:

 (步骤一:创建) var btn = document.createElement(‘button’);btn.insertHtml = ‘百度一下,你就知道’;

 (步骤二:设置) btn.style设置添加控件

 (步骤三:添加) 父控件.appendChild(要添加的控件);

  //注意的控件只能被添加一次,要想再添加,只能再重新创建

2.删除(2种方法)

  方法一:找到父类,直接从父类上删除;通过控件找到父类,然后删除

 var img = document.getElementsByTagName('img')[0];

    document.body.removeChild(img);直接从父类上删除

      img.parentNode.removeChild(img);通过控件找到父类,然后删除

      btn.parentNode.removeChild(btn);通过控件找到父类,然后删除

 

  方法二:调用remove()方法;

    要删除的控件.remove()

 

3.改:

通过document拿到该对象,重新赋值即可

4.查:

基本上就是打印

拿到body中(包括<body></body>)里的内容 :console.log(document.body.outerHTML);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值