zoukankan      html  css  js  c++  java
  • JavaScript this

    <!doctype html>
    <html lang='en'>
    <head>
        <title>this</title>
        <script src="jquery-1.11.0.min.js"></script>
        <script>
        window.onload = function(){
            //函数中引用
            var x = 1;
            function f(){
                this.x;
            };
            console.log(x);
    
            //没有被绑定的对象,默认this指向window对象
            var x = 1;  
            function f1(){
                this.x=2;
            };
            function f2(){
                this.x=3;
            };
            f2();
            f1();
            console.log(x); //2
            
            //绑定对象
            var f = function(){
                console.log(this);
            }
            var o ={};
            o.name='sonia';
            o.action = f;
            o.action();  //o
            
            //对象中引用 this当前对象
            var o ={};
            o.name='sonia';
            o.action = function(){
                return this.name
            }
    
            //构造函数引用   this
            function F(name,age) {
                this.name = name;
                this.age = age
            };
            var f = new F('abc',20);
    
            //call  apply
            var name ='123';
            function f() {
                return this.name;
            };
            var o={};
            o.name ='sonia';
            o.action = f;
            //o.action();
            console.log(o.action.apply(o))  //sonia
    
            var name ='123';
            function f() {
                return this.name;
            };
            var o={};
            o.name ='sonia';
            o.action = f;
            //o.action();
            console.log(o.action.apply())  //123
    
            //面试题
            var number = 1;
            var obj ={
                number:2,
                showNumber:function() {
                    this.number = 3;
                    (function(){
                        console.log(this.number);
                    })();    //函数自执行 this指向的是window
                    console.log(this.number);
                }
            };
            obj.showNumber();
    
    
            //正则校验
            var value='123';
            var filter = /^go?gle$/;
            var filter2 = new RegExp('^go?gle$');
            if(filter.test(value)){
                console.log('ok');
            }
    
    
    
        }
        // $(function(){
        //     $("ul li").click(function(e){  //e.target
        //         $(this).css("color","#f60").siblings().css("color","#333");
        //     })
        // });
        </script>
    </head>
    <body>
        <ul>
            <li>a</li>
            <li>b</li>
            <li>c</li>
            <li>d</li>
        </ul>
    </body>
    </html>
    

    本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。

    博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。

    博主是利用读书、参考、引用、抄袭、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个无耻的文档搬运工!

  • 相关阅读:
    Android Studio 配置快速生成模板代码
    Android开发 AndroidViewModel详解
    adb命令 logcat日志抓取
    Android开发 自定义View_白色圆型涟漪动画View
    Java Queue队列
    Java 几种队列区别的简单说明
    Android开发 retrofit下载与上传
    Android开发 retrofit入门讲解 (RxJava模式)
    Java学习 时间类 Period类与Duration类 / LocalDate类与Instant类 用法详解
    Java 学习 时间格式化(SimpleDateFormat)与历法类(Calendar)用法详解
  • 原文地址:https://www.cnblogs.com/Dewumu/p/14412545.html
Copyright © 2011-2022 走看看