JavaScript 一切皆是对象

  • 善用资源网站搜索,以至于找方法的时候不会太过于慌乱业绩束手无策
  • MDN库 , 菜鸟教程 ,JQ22 ,github , ,博客
  • 各种官网 【webpack,Vue,node,npm ,github ,】

1、函数本身就是一个对象,可以为其添加静态属性(属性):

function demo(){
  ...
}
demo.data={
  a:1,
  b:2
}
//使用
console.log(demo.data.a);

运行结果:


JavaScript 一切皆是对象_第1张图片
Paste_Image.png

2、对于有些在函数内部定义的局部变量,但是需要在其它函数中使用或者外部使用,可以将这些变量赋值给函数的某一个静态属性,作为全局变量,可以供其他地方使用:

  
    // 修改价格
    function editPrice(obj){    
      var productid = $(obj).parent("tr").attr("data-productid");  
      var productName = $(obj).parent("tr").attr("data-productname");                                        
      editPrice.data = {
        productid: productid,
        productName: productName
        ...
      }   
    }
$("#editPriceOk").click(function(){
      $.ajax({
        url:"/v1/xx/xxx/"+editPrice.data.productid,   //此处用到全局变量
        type:"put",
        data:{
          "xx":xx,
          "xx":xx
        },
        success:function(){
          layer.msg("修改价格成功!",{time:1500});
        }
      });
    });   

3、建立局部作用域保存变量,点击弹窗时把值赋给变量

function open(id){
  return function(oper){
    if(oper == "ok"){
        console.log("ok",id);
        return ;
    }
    return console.log("cancel");
  }
}
var confirm = open(3);
confirm("ok");

运行结果如下:


JavaScript 一切皆是对象_第2张图片
Paste_Image.png

你可能感兴趣的:(JavaScript 一切皆是对象)