博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript 相关
阅读量:7089 次
发布时间:2019-06-28

本文共 1857 字,大约阅读时间需要 6 分钟。

1.null和undefined区别

     undefined 继承自null,两者都是浏览器window的一个特殊属性

例:  

alert('undefined' in window); //输出:true       var anObj = {};       alert('undefined' in anObj); //输出:false

     undefined  表示变量未定义或者定义了未赋值的值

例: 

var a;     alert(a);//输出:undefined      alert( typeof b);//输出:undefined     alert(b);//产生错误

   对于未声明的变量,只能执行一项操作,即使用typeof 检测其数据类型

  即便未初始化的变量被自动赋予undefined值,但显示地初始化变量依然是明智的选择。如果能做到这一点,那么当typeof操作符返回undefined值时,我们就知道被检测的变量还没有被声明,而不是尚未被初始化。

 

   null代表空指针对象,所以用typeof检测null回返回"object"

无论在什么情况下没有必要把一个变量显式的设置为undefined;但只要意在保存对象的变量名还没有真正保存对象(实例化),就应该明确地让该变量保存null值。这样做可以体现null作为空对象指针的惯例,而且也有助于进一步区分null和undefined。

 

个人认为null和undefined主要作用是区分未赋值的对象和变量,正确使用null和undefined可以避免一些混乱

 

2.RegExp类型

  var expression=/parttern/flags

   var parttenr1=/[bc]at/i

   var parttenr2=new RegExp("[bc]at","i")

 

   alert(parttenr2.source);正则表达式字面量值

  alert(parttenr2.golbal);是否设置了global标志

   alert(parttenr2.ignoreCase);是否设置了i标志

   alert(parttern2.multiline);是否设置了m标志

   alert(parttern2.lastIndex);整数,表示开始搜索下一个匹配项的字符位置,从0算起

所有元字符都要双重转义:

   /\w\\hello\\123\  等价"\\w\\\\hello\\\\123"

    exex()匹配返回一个Array数组,包含2个额外属性,index和input,index表示匹配字符出现的位置,input表示应用正则表达式的字符串

      var test="cat bat bat";

      var matches=parttern2.exec(text);

      alert(matches[0]);

    test()方法接受一个字符串参数,匹配模式返回true

3.作用域链(Scope Chain)

   JavaScript中的一种重要机制,JS中所有的标识符(Identifier)都是通过Scope Chain来查找值的。
词法作用域(Lexical Scoping)
   JavaScript中的函数运行在它们被定义的作用域里,而不是它们被执行的作用域里.
   这个作用域我们称之为[[scope]]
   非内嵌函数的[[scope]]都是宿主对象,不同的宿主会有不同的内容

var i = "w i"; var a =function(){     alert(i); } var b = function(){     var i = "b i";     a(); } var c = function(){     a(); } a();b();c();

输出都为 w i
call apply都不继承原型链
只继承函数中定义的方法属性

Function

当一个函数对象被创建时,Function够在其产生的函数对象会运行类似这样的代码:

   this.prototype={constructor:this}

新函数对象被赋予一个prototype属性,其值是包含一个constructor属性且属性值为该新函数对象。该prototype对象是存放继承特征的地方,因为JavaScript没有提供一种方法确定哪个函数式打算用来做构造器的

转载于:https://www.cnblogs.com/FlyCat/archive/2012/03/07/2580004.html

你可能感兴趣的文章
阿里妈妈首次公开新一代自研智能检索模型 | WWW 2018论文解读
查看>>
使用Depth Texture
查看>>
第 9 章 PBX
查看>>
ylbtech-LanguageSamples-Porperties(属性)
查看>>
第 4 章 Music score
查看>>
架构设计目录
查看>>
Wind7外接显示器选择拓展模式后,鼠标只能往右移动才能切换到外接显示器上,不能修改切换方向...
查看>>
学习笔记: CSS3 鼠标悬停动画
查看>>
ylbtech-cnblogs(博客园)-数据库设计-7,News(新闻)
查看>>
WCF 基础简介
查看>>
用Soap消息调用Web Services(续)
查看>>
php数据库操作封装类
查看>>
atitit.导出excel的设计----查询结果 导出为excel的实现java .net php 总结
查看>>
[LeetCode] Partition List 划分链表
查看>>
以Ajax方式显示Lotus Notes视图的javasript类库----NotesView2
查看>>
ylbtech-memorandum(备忘录)-数据库设计
查看>>
spm中头动绘图的理解,自带数据集
查看>>
车辆管理系统之继续自己的任务(五)
查看>>
谁该赋予一款产品灵魂?
查看>>
自我总结(八)- 新学期
查看>>