美文网首页
JavaScript匿名函数和对象 Day4

JavaScript匿名函数和对象 Day4

作者: _Enco_ | 来源:发表于2017-07-04 11:41 被阅读0次

匿名函数

  • 小括号
    表示指向一个空间
  • 小括号指向函数,实现调用匿名函数
(function (){
  console.log(666);
})();
  • 匿名函数下的自调用
var a = (function (num){
        if(num>1)
          return num*arguments.callee(num-1);
        return num;
      })(3);
      console.log(a);

对象

  • 对象的直接声明(每对键值对后都有个逗号,最后一对可以不加逗号)
  • key:value
    1.字母(加引号,不加引号)
    2.数字(加引号,不加引号)
var person = {name : "karen", // 键值对 key:value
                      age : 46,
                      tool:function(){} //,
                      }
  • 对象属性使用方法
var person  = {name : "enco", age : 18}
var a = person.name;
var b = person["name"];
  • 数组是特殊的对象
var arr = [1,2,3,4]
console.log(arr);
  • 对象可以存所有类型的数据
  • 对象添加数据
person.tool = 18;
  • 访问对象中没有的值
var person = {width: 200}
console.log(person.height); //undefined
  • 访问对象中没有的空间
var person = {width: 200}
person.height = 30; // 会声明这个没有的空间并初始化

常见创建对象的方式

var person = new Object();
var person = {};
function person(name,age){
  var obj = new Object();
  obj.name = name;
  obj.age = age;
  return obj;
}
person("karen",18);
function person(name,age){
  this.name = name;
  this.age = age;
}
var p1 = new person("karen",18); //new 开辟一个对象空间,this指向对象空间 
console.log(p1.name);

this

  • this 代表谁在执行大括号 this就是谁

prototype

  • prototype 属性使使用者有能力向对象添加属性和方法。(这里的对象指没有实例化的对象,及类:代码中的objecrt)
object.prototype.name=value;
function employee(name,job,born){
this.name=name;
this.job=job;
this.born=born;
}
var bill=new employee("Bill Gates","Engineer",1985);
employee.prototype.salary=null;

数组的创建

var a = [1,"qwe",!5];
var a = new Array();

js中的new

JS构造函数及new运算符

  • prototype 对f1是不可见的,也就是说,f1不会查找prototype中的属性和方法。
function f(){}
f.prototype.foo = "abc";
console.log(f.foo); //undefined
  • prototype的主要作用就是继承。 通俗一点讲,prototype中定义的属性和方法都是留给自己的“后代”用的,因此,子类完全可以访问prototype中的属性和方法,proto的作用就是保存父类的prototype对象,JS在通过new 表达式创建一个对象的时候,通常会把父类的prototype赋值给新对象的proto属性,这样,就形成了一代代传承。
function f(){}
f.prototype.foo = "abc";
var obj = new f();
console.log(obj.foo); //abc

js闭包

干货分享:让你分分钟学会JS闭包

  • 当我们需要在模块中定义一些变量,并希望这些变量一直保存在内存中但又不会“污染”全局的变量时,就可以用闭包来定义这个模块。

相关文章

  • JavaScript匿名函数和对象 Day4

    匿名函数 小括号表示指向一个空间 小括号指向函数,实现调用匿名函数 匿名函数下的自调用 对象 对象的直接声明(每对...

  • JavaScript 函数式编程中的引用函数、调用函数和回调函数

    JavaScript 函数式编程中的引用函数、调用函数和回调函数 阅读本文前先阅读《JavaScript 中的匿名...

  • [JS函数] 箭头函数

    箭头函数 箭头函数就相当于匿名函数 使用方法和匿名函数相同。注意返回一个对象的时候加上()。对象的{}可能会与函数...

  • 2016-11-24

    JavaScript escape() 函数 JavaScript 全局对象 定义和用法:escape() 函数可...

  • typescript 函数

    日期: 2019 年 9 月 3 日 typescript 函数 具名函数与匿名函数 和JavaScript一样,...

  • 函数

    函数的声明 JavaScript中函数使用 function 关键字声明 匿名函数的声明 匿名函数声明语法: fu...

  • ES6与typescript中的函数(function)

    函数 和JavaScript一样,TypeScript函数可以创建有名字的函数和匿名函数。 你可以随意选择适合应用...

  • JavaScript encodeURIComponent()

    JavaScript encodeURIComponent() 函数 JavaScript 全局对象 定义和用法 ...

  • 后端程序员的 JavaScript 之旅 - 模块化(一)

    基础模式 匿名闭包 匿名闭包是很常用的代码隔离方式,声明匿名对象并立即执行。匿名函数中声明的变量和方法以及匿名函数...

  • 2018-05-18 原型链

    1:普通对象与函数对象 JavaScript分为普通对象和函数对象,通过new Function创建的对象都是函数...

网友评论

      本文标题:JavaScript匿名函数和对象 Day4

      本文链接:https://www.haomeiwen.com/subject/yksthxtx.html