Javascript 学习 笔记六

简介: 1、javascript 面向对象<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xht

1、javascript 面向对象

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript">
        //oDiv.onclick = function () {
        //    alert(this);
        //};
        window.onload = function () {
            var arr = [12, 65, 87];
            //this:当前的方法,属于谁
            //arr.show = function () {
            //    alert(this);
            //};
            arr.sssss = function () {
                alert('123');
            };
            arr.sssss();
        }
    </script>
</head>

<body>
</body>
</html>

我擦,代码竟然可以这么写

2、构造函数与原型

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript">
        //构造函数
        function Person(name, sex) {
            this.name = name;
            this.sex = sex;
        }
        //原型
        Person.prototype.showName = function () {
            alert(this.name);
        };
        Person.prototype.showSex = function () {
            alert(this.sex);
        };
        var p = new Person('blue', '男');
        p.showName();
        p.showSex();
    </script>
</head>
<body>
</body>
</html>

小注:
每个对象有差异的东东,可以放到构造函数中,通用的可以使用原型

3、原型的优先级

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript">
        Array.prototype.a = 12;
        var arr = [1, 2, 3];
        alert(arr.a);   //12
        arr.a = 5;
        alert(arr.a);   //5
        delete arr.a;
        alert(arr.a);   //12
    </script>
</head>
<body>
</body>
</html>

4、[Javascript中this关键字详解]

(http://blog.csdn.net/jiankunking/article/details/50413767)

5、事件绑定

IE方式

  • attachEvent(事件名称, 函数),绑定事件处理函数

  • detachEvent(事件名称, 函数),解除绑定

DOM方式

  • addEventListener(事件名称,函数, 捕获)

  • removeEventListener(事件名称, 函数, 捕获)

//1.谁
//2.事件
//3.函数
function AddEvent(obj, sEvent, fn)
{
    //IE
    if(obj.attachEvent)
    {
        obj.attachEvent('on'+sEvent, fn);
    }
    else
    {
        obj.addEventListener(sEvent, fn, false);
    }
}

6、绑定和this

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <meta charset="utf-8" />
    <script type="text/javascript">
        window.onload = function () {
            var oBtn = document.getElementById('btn1');
            /*oBtn.onclick=function ()
            {
                alert(this);
            };*/
            //IE    事件绑定        this->window
            /*oBtn.attachEvent('onclick', function (){
                alert(this==window);
            });*/
            //FF
            oBtn.addEventListener('click', function () {
                alert(this);
            }, false);
        };
    </script>
</head>
<body>
    <input id="btn1" type="button" value="aaa" />
</body>
</html>

7、匿名函数

匿名函数绑定事件无法解除绑定
与C #一样嘛

作者:jiankunking 出处:http://blog.csdn.net/jiankunking

相关文章
|
1月前
|
JavaScript 前端开发
JavaScript随手笔记 --- 对数据进行判断最大位数是否超过八位
JavaScript随手笔记 --- 对数据进行判断最大位数是否超过八位
|
1月前
|
JavaScript 前端开发
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
|
8天前
|
JavaScript 前端开发 应用服务中间件
node.js之第一天学习
node.js之第一天学习
|
26天前
|
JavaScript 前端开发 Java
JavaScript高级笔记-coderwhy版本(六)
JavaScript高级笔记-coderwhy版本
71 0
|
26天前
|
JavaScript 前端开发 Java
JavaScript高级笔记-coderwhy版本(一)
JavaScript高级笔记-coderwhy版本
33 0
JavaScript高级笔记-coderwhy版本(一)
|
1月前
|
JSON JavaScript 前端开发
Node.JS第二讲笔记
Node.JS第二讲笔记
31 0
|
1月前
|
运维 JavaScript 前端开发
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
|
1月前
|
JavaScript
Vue.js学习详细课程系列--共32节(4 / 6)
Vue.js学习详细课程系列--共32节(4 / 6)
33 0
|
1月前
|
JavaScript 前端开发 索引
JavaScript随手笔记---对比数组差异
JavaScript随手笔记---对比数组差异
JavaScript随手笔记---对比数组差异
|
1月前
|
JavaScript 前端开发
JavaScript随手笔记---轮播图(点击切换)
JavaScript随手笔记---轮播图(点击切换)
JavaScript随手笔记---轮播图(点击切换)