zoukankan      html  css  js  c++  java
  • 函数对象

    对象基础介绍

    对象概述

    JavaScript里面的对象就是一组键值对的集合。这些键一般由字符串构成,而值可以是任意数据 类型。比如字符串,数字,布尔,数组或者函数。一般来讲,如果一个键映射的是一个非函数的 值,我们将这个值称之为该对象的属性,而如果一个键映射的是一个函数的值,那么我们将其称 之为方法。

    创建对象

    要创建一个对象,我们只需要输入一对大括号即可。这样我们就可以创建一个空的对象:let objName = {};

    访问对象属性

    访问对象的属性的方法有3种:点访问法,中括号访问法,symbol访问法

    1. 点访问法

      我们可以通过一个点.来访问到对象的属性,

    2. 中括号访问法

      使用中括号法来访问对象的属性

    3. symbol访问法

      ES6之前,对象的属性名都只能是字符串。但是这样很容易造成属性名的冲突。比如我们使用 了一个别人提供的对象,然后我们想在这个对象的基础上进行一定的扩展,添加新的属性,这个 时候由于并不知道原来的对象里面包含哪些属性名,所以很容易就把别人的对象所具有的属性给 覆盖掉了。

      有些时候我们希望在不同的代码中共享一个symbol,那么这个时候可以使用Symbol.fo r()方法 来创建一个共享的symbolES6提供了一个可以随时访问的全局symboI注册表。当我们使 Symbol.fo r()方法注册一个symbo I的时候,系统会首先在全局表里面查找对应的参数的 symbol是否存在,如果存在,直接返回已经有的symbol,如果不存在,则在全局表里面创建一 个新的symbol

      如果使用Symbol.fo r()方法创建symbo l的时候没有传递任何参数那么也会将undefined作为 全局表里面的键来进行注册

      ES6里面还提供了 Symbol.keyFo r()方法来查找一个symbo l的键是什么。但是需要注意的是 该方法只能找到注册到全局表里面的symbol的键。如果是通过Symbol方法创建的symbol, 无法找到的。这其实也很好理解,通过Symbol()方法创建的symbo l都不存在有键。

      前面有提到,如果一个对象的属性对应的是一个函数,那么这个函数被称之为对象的方法。访问 对象方法的方式和上面介绍的访问对象属性的方式是一样的,可以通过点访问法,中括号访问法 以及symbo l访问法来进行对象方法的调用。

    删除对象属性

    对象的任何属性都可以通过delete运算符来从对象中删除。

    对象常用属性和方法

     in操作符

    该操作符用于判断一个对象是否含有某一个属性,如果有返回true,没有返回false。需要注意的 是目前为止还无法判断对象的symbol属性的包含情况,如果属性是symbol,那么会直接报错

     for..in

    这个for..in我们在前面讲解遍历数组的时候已经见到过了。可以使用for..in来取出数组的键。除此 之外,我们还可以使用for..in来循环遍历一个对象的所有属性

     keys, values, entries

    前面在介绍遍历数组,集合以及映射的时候,有介绍过这3个方法,分别用于找出可迭代对象的 键,值,以及键和值。实际上,我们的对象也是属于可迭代对象的一种,所以也可以使用这3 方法来找出对象的键和值

    嵌套对象

    个对象里面可以包含其他的对象,这个我们称之为对象的嵌套。

    当我们访问嵌套对象里面的值的时候和访问单个对象的方式是一样的

    对象作为函数参数

    对象字面量也可以作为函数的参数进行传递。这在有很多形式参数的时候非常有用,因为它允许 我们在调用函数时不用记住参数的顺序。

    参数的顺序是必须要和形式参数的顺序一致的。否则 就会出现上面第2次调用函数的情况,输出不符合预期的结果。

     this关键字

    既然学习到了对象,那么有必要介绍一下this关键字。this ,翻译成中文就是这个的意思。 当我们在一个对象中使用this关键字时,该关键字就代表的是当前对象。

    字符串相关方法

    字符串属性

    在字符串里面有一个length属性,可以访问到该字符串里面有多少个字符

    字符串方法

    访问特定字符

    有两个访问字符串中特定字符的方法,分别是charAt 0charCodeAt

    charAtO接收一个数字参数,找到对应该下标的字符是什么

    访问特定字符

    有两个访问字符串中特定字符的方法,分别是charAt 0charCodeAt

    charAtO接收一个数字参数,找到对应该下标的字符是什么

    字符串操作方法

    concatO用于将一个或者多个字符串拼接起来,返回拼接得到的新字符串 需要注意的就是原字符串不会产生改变,拼接后的字符串以返回值的方式返回

    还有一点,那就是虽然concatO可以用于拼接字符串,但是还是使用+号拼接的方式比较简便,使 用的情况更多一些

    slice。:和数组的slice方法相似,接收一或者两个参数,截取字符串

    substrO在字符串中抽取从开始下标开始的指定数目的字符效果和slice方法基本一样。但是 还是有一定的区别,区别就在于第二个参数

    substring用于提取字符串中介于两个指定下标之间的字符。和前面的方法也是非常的相似, 但是还是有不同的地方

    普通的传入2个参数的时候,好像substring方法和slice方法就是一样的方法,那么区别在什么 地方呢?区别就在于参数为负数的时候

    字符串位置方法

    indexOf)l astlndexOf:这两个方法都是从一个字符串中搜索给定的子字符串,然后返回子字 符串的位置,没有找到就是返回-1,两个方法的区别在于一个是从前面开始找,一个是从后面开始找

    字符串对象中还存在一个和indexOf()方法很类似的方法,为sea rch()方法。该方法也是用 于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。如果没有找到任何匹 配的子串,则返回-1

    检测开始字符和结束字符

    startsWith endsWith

    去除字符串空白方法

    有一个去除字符串两端空白的方法trim。,这个在表单里面经常会用 trim。:这个方法会创建一个字符串副本,删除前置以及后缀的所有空格。

    除了 trim以外还有trimLeftOtrimRight方法分别用于删除字符串开头和末尾的空格。

    重复字符串

    repeat。:里面传入要重复的次数即可

    字符串大小写转换方法

    这里涉及到4个方法分别是toLowerCaseOtoLocaleLowerCase还有就是toUpperCase toLocaleUpperCase

    用得较多的一般就是toLowerCaseOtoUpperCase

    JSON

    JSON,英语全称为JavaScript Object Notation。是Douglas Crockford2001 年发明的一种轻 量级数据存储格式被很多服务用于数据序列化以及配置。JSON经常被用于Web服务之间交换 信息,也被很多网站用来共享信息,例如twitter, facebook等。JSON最大的优点在于它在人、 机可读性方面达到了一个最佳的临界点。

    经常有人会把对象字面量和JSON相混淆,认为是同一个东西。但是实际上它们之间还是有几个 关键性的区别:

    ・属性名必须用双引号引起来

    允许的值包括数字,true, false, null,数组,对象以及双引号引起来的字符串

    ・函数是不允许的

    JSON正作为一种数据存储格式变得日益的流行很多编程语言现在都有现成的库来解析和生成 JSONES5开始,就已经有了全局的JSON对象,该对象存在方法,可以将JavaScript中的字 符串转为JSON或者将JSO N转换为字符串。

    JSON对象转为字符串

    使用的方法为JSON.stringify()

    字符串转为JSO N对象

    使用的方法为JSON.pa rse()方法,但是需要注意的一个问题是,当我们要将一个字符串转为 JSON对象时,必须要保证字符串的格式要和JSO N的格式一模一样,否则无法进行转换,

  • 相关阅读:
    c++ 单步查看汇编代码【转】
    c++ 类内部函数调用虚函数
    grep和sed替换文件中的字符串【转】
    vim 正则替换【转】
    linux 文件编码问题
    shell截取字符串的一些简单方法
    chrome 安装页面编码选择插件
    namespace main
    【转】c++ 多线程
    使用git提交到github,每次都要输入用户名和密码的解决方法
  • 原文地址:https://www.cnblogs.com/wwjljwx/p/11145395.html
Copyright © 2011-2022 走看看