我是靠谱客的博主 合适蜻蜓,最近开发中收集的这篇文章主要介绍js逆向之prototype(原型对象)和newjs中的应用prototypenew,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • js中的应用
  • prototype
  • new
    • 构造函数

js中的应用

注意:js 中的函数其实是对象,函数名是对 Function 对象的引用。

在js逆向中的应用:

function n() {
    //其中代码省略
} //函数对象

n.prototype.xxx=function() {} //给对象添加一个叫xxx的方法

//以后遇到n.prototype.xxx这种格式时,n必须使用new来实例化后,后续代码中才可以使用n.xxx方法

prototype

所有的 JavaScript 对象都会从一个 prototype(原型对象)中继承属性和方法。

JavaScript 对象有一个指向一个原型对象的链。当试图访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的原型的原型,依次层层向上搜索,直到找到一个名字匹配的属性或到达原型链的末尾。

使用 prototype 属性就可以给对象的构造函数添加新的属性或方法:
例子:

function Person(first, last, age, eyecolor) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eyecolor;
}
 
Person.prototype.nationality = "English";
function Person(first, last, age, eyecolor) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eyecolor;
}
 
Person.prototype.name = function() {
  return this.firstName + " " + this.lastName;
};

new

在JavaScript中,new运算符用于创建一个自定义对象实例,或者是一个构造函数内置对象的实例。

  • new 命令的作用,就是执行构造函数,返回一个实例对象。
var Vehicle = function () {
 this.price = 1000;
};
var v = new Vehicle(); //令构造函数 Vehicle 生成一个实例对象,保存在变量 v 中
v.price // 1000 
//new 命令执行时,构造函数内部的 this ,就代表了新生成的实例对象, this.price 表示实例对象有一个 price 属性,值是1000。

注意:

  • 下面两行代码是等价的,但是为了表示这里是函数调用, 推荐使用括号 。

    // 推荐的写法
    var v = new Vehicle();
    // 不推荐的写法
    var v = new Vehicle;
    `
    
    

构造函数

  • 面向对象编程的第一步,就是要生成对象。通常需要一个模板,表示某一类实物的共同特征,然后对象根据这个模板生成。
  • JavaScript 语言使用构造函数(constructor)作为对象的模板。 “构造函数”,就是专门用来生成实例对象的函数。
  • 它就是对象的模板,描述实例对象的基本结构。一个构造函数,可以生成多个实例对象,这些实例对象都有相同的结构。
  • 为了与普通函数区别,构造函数名字的第一个字母通常大写。

最后

以上就是合适蜻蜓为你收集整理的js逆向之prototype(原型对象)和newjs中的应用prototypenew的全部内容,希望文章能够帮你解决js逆向之prototype(原型对象)和newjs中的应用prototypenew所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部