您当前的位置: 首页 > 

wespten

暂无认证

  • 0浏览

    0关注

    899博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

js中this的使用与代码编写

wespten 发布时间:2018-10-26 14:03:11 ,浏览量:0

js中this的使用与代码编写

我们在写一个方法的时候,总是会用到一个关键字this,而this的指向就是我们这里所说的执行上下文(执行环境)

首先我们要知道,this指向的永远是调用该方法的对象

function func () {
    this.a = 1;
    console.log(this.a);
}
func();  // 1

代码中方法执行后控制台输出1,由于func是全局对象window下的一个方法,那么调用该方法的对象就应该是全局对象window,所以this理论上指向的对象就应该是window

如果理论成立,而this.a==1,也就是说变量a是一个全局变量。在控制台上直接输入awindow.a后回车,会发现输出了1,所以在func这个方法中,this的指向就是window

var person = {
    name: 'xiao ming',
    age: 18,
    who: function () {
        console.log( 'my name is ' + this.name + ' , ' + this.age + ' years old' );
        console.log( person === this);
    }
}

person.who();

上面这段代码中who方法是person对象的一个属性,被person对象调用,所以this的指向也就是person

通过this实现全选全不选

 	
  • 网址
	$("#all").change(function() {
		if ($(this).attr("checked")) {
			$(".Item").each(function() {
				$(this).attr("checked", true);
			});
		} else {
			$(".Item").each(function() {
				$(this).attr("checked", false);
			});
					}
	})

this可以重写'父类'的方法

var EditView = function(){
    var _this = null;
    var $id = null;
    var key = null;
    var $submit_form = $("#submit_form");
    var $url = "notification/notificationtype";
    var type = null;
    var $add = null;
    var $getById = null;
    var $upd = null;
    this.url = null;
    this.dicurl = "system/dic/getDicByCode/";
    this.uploadUrl = getUploadUrl();
    this.createCusView = null;
    this.getMainData = null;
    this.init = function(){
        if(parent.$("#addwind_frame").contents().length>0){
            $id =  $("#cntenIdKey",parent.$("#addwind_frame").parent().parent().parent()).val();
            $url = $("#cntenUrl",parent.$("#addwind_frame").parent().parent().parent()).val();
            $upd = $("#cntenUpd",parent.$("#addwind_frame").parent().parent().parent()).val();
            $add = $("#cntenAdd",parent.$("#addwind_frame").parent().parent().parent()).val();
            $getById = $("#cntenById",parent.$("#addwind_frame").parent().parent().parent()).val();
        }else if(parent.$("#editwind_frame").contents().length>0) {
            $id =  $("#cntenIdKey",parent.$("#editwind_frame").parent().parent().parent()).val();
            $url = $("#cntenUrl",parent.$("#editwind_frame").parent().parent().parent()).val();
            $upd = $("#cntenUpd",parent.$("#editwind_frame").parent().parent().parent()).val();
            $add = $("#cntenAdd",parent.$("#editwind_frame").parent().parent().parent()).val();
            $getById = $("#cntenById",parent.$("#editwind_frame").parent().parent().parent()).val();
        }else{
            $id =  $("#cntenIdKey",parent.$("#redwind_frame").parent().parent().parent()).val();
            $url = $("#cntenUrl",parent.$("#redwind_frame").parent().parent().parent()).val();
            $upd = $("#cntenUpd",parent.$("#redwind_frame").parent().parent().parent()).val();
            $add = $("#cntenAdd",parent.$("#redwind_frame").parent().parent().parent()).val();
            $getById = $("#cntenById",parent.$("#redwind_frame").parent().parent().parent()).val();
        }

        key = $.util.request[$id];
        type = $.util.request["type"];
        _this = this;
        $Core.OnPageLoad(function () {
            $Core.Loading.HidePageLoading();
        });
        if (key&&key!="") {
            var url = $url+"/getById/" + key;
            if($getById != null && $getById != "" && $getById != "null"){
                url = $getById+"/"+key;
            }
            $.get(url, function (data) {
                _this.getMainData = data;
                $submit_form.form("load", data.data);
                if(type=="red"){
                    $submit_form.form("load", data.data);
                    $("input").attr("readonly", "readonly");
                    $(".easyui-combobox").combo('readonly', true);
                    $(".easyui-combotree").combotree('readonly', true);
                    $('.easyui-textbox').textbox('readonly');
                    $(".easyui-my97").my97('disable');
                    $("#btnSave").hide();
                    $("button").hide();
                    /*$("input",$submit_form).each(function(i,n) {
                        $(n).textbox('disable');
                    });*/
                }
                if(type != "add" && _this.renderSelectors){
                	for(var i=0,len=_this.renderSelectors.length; i            
关注
打赏
1665965058
查看更多评论
0.0430s