Js语言精粹经典用法

1. 扩充类型的功能

Function.prototype.method = function(name, func){     if(!this.prototype[name]){
     this.prototype[name] = func;     }
     return this;
}
String.method(‘deentityfy‘,function(){
   var entity={
     quot:‘"‘,
     lt:‘<‘,
     gt:‘>‘
   };

  return function(){ 

    return this.replace(/&([^&;]+);/g,
                        function(a,b){
      var r = entity[b];
      return typeof r===‘string‘ ? r:a;
    });
  };
}());
console.log(‘<>‘.deentityfy());  // <>

  

时间: 2024-10-09 20:25:39

Js语言精粹经典用法的相关文章

JavaScript语言精粹经典实例(整理篇)

数据类型 JavaScript 是 弱类型 语言,但并不是没有类型,JavaScript可以识别下面 7 种不同类型的值: 基本数据类型 1.Boolean 2.Number 3.String 4.null 5.undefined 6.Symbol Object 1.Array 2.RegExp 3.Date 4.Math 5.... 可以使用 typeof 判断数据类型,操作符返回一个字符串,但并非返回的所有结果都符合预期 1 typeof false // "boolean" 2

js语言精粹P38

<script>var fade=function(node){    var level=1;    var step=function(){        var hex=level.toString(16);        node.style.backgroundColor='#'+hex+hex+hex+hex+hex+hex;        if(level<15){            level+=1;            setTimeout(step,100); 

JS语言精粹 函数部分の闭包

1 <<!DOCTYPE html> 2 <html> 3 <head> 4 <title></title> 5 <script type="text/javascript"> 6 /*闭包*/ 7 8 //返回了一个包含两个方法的对象,并且这两个方法继续享有访问value的权限 9 var myObject=function () { 10 var value=0; 11 return{ 12 increm

JavaScript语言精粹 笔记06 方法

JS包含了少量可用在标准类型上的标准方法. ArrayFunctionNumberObjectRegExpString Array array.concat(item...) concat方法返回一个新数组,它包含array的浅复制并将1个或多个参数item附加在其后.如果参数item是一个数组,那么他的每个元素会被本别添加. var a = ['a', 'b', 'c']; var b = ['x', 'y', 'z']; var c = a.concat(b, true); // c 是 [

《javascript语言精粹》读书笔记二

本节是对语言精粹第四章的一些总结和精华梳理,因为这一章主要是说明函数这个js中的一等公民的,所以专门抽出一节来希望把这个部分说透. 第四章 函数对象,函数对象也是一个对象之中,函数对象在创建中会产生一个prototype属性. 函数字面量,通过函数字面量创建的函数对象包含一个连到外部上下文的连接,这被称为闭包.这是js强大表现力的来源. 函数调用方式,函数一共有四种调用方式,这四种调用方式在初始化this这个关键参数上存在差异: 1. 方法调用模式 2. 函数调用模式 3. 构造器调用模式 4.

JavaScript语言精粹 笔记01

内容比较简单,只是从头梳理一下JS的知识 语法空白标识符数字字符串语句 对象对象字面量检索更新引用原型反射枚举删除减少全局变量污染  语法 1 空白 空白可能表现为格式化字符或注释的形式.空白通常没有意义,但是偶尔必须用它来分割字符序列,否则它们就会被合并成一个单一的符号.例如: var that = this; var 和that之间的空格是不能去掉的,其他的空格都可以被移除. JS提供两种注释: /* */ // 建议使用//,因为/* */中要注释的内容可能包括字符 */ 而报错,例如:

JavaScript语言精粹笔记

JavaScript语言精粹笔记 掌握语言的每个特性可以让你出风头,但是并不推荐,因为一部分的特性带来的麻烦可能远超本身的价值.正如书中所言,坏的材料并不能雕刻出好的作品,要成为一名更好的程序员,要取其精华去其糟粕.当你知道要做什么的时候,它还能表现的更好,编程时一件相对困难的事情,绝不应该在懵懂的状态下开始编程之旅. JS中的注意为//或者/*content*/,注释一定要精确地描述代码,不然没有用的注释比没有注释更糟糕. JS中的代码块不会创建新的作用域,因此变量应该被定义在函数的头部,而不

c语言入门经典(第5版)

文章转载:http://mrcaoyc.blog.163.com/blog/static/23939201520159135915734 文件大小:126MB 文件格式:PDF    [点击下载] C语言入门经典(第5版)  内容简介: C语言是每一位程序员都应该掌握的基础语言.C语言是微软.NET编程中使用的C#语言的基础:C语言是iPhone.iPad和其他苹果设备编程中使用的Objective-C语言的基础:C语言是在很多环境中(包括GNU项目)被广泛使用的C++语言的基础.C语言也是Li

JavaScript语言精粹 笔记03

继承伪类对象说明符原型函数化部件 继承 JS不是基于类的,而是基于原型的,这意味着对象直接从其他对象继承. 1 伪类 JS提供了一套丰富的代码重用模式,它可以模拟那些基于类的模式,因为JS实际上没有类,所以把模拟的类称为伪类.我们可以定义一个构造器并扩充它的原型: var Mammal = function (name) { this.name = name; }; Mammal.prototype.get_name = function ( ) { return this.name; }; M