热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

读书笔记part1

自从毕业以后到现在~看的书是越来越少了の其实好像貌似从来没有认认真真的看书除非工作遇到难于解决的问题迫不得已才去翻书看有些问题也是莫名其妙的就这样解决了于是乎被人美名其曰“高人”或

自从毕业以后到现在~看的书是越来越少了

の其实好像貌似从来没有认认真真的看书  除非工作遇到难于解决的问题迫不得已才去翻书看

有些问题也是莫名其妙的就这样解决了  于是乎被人美名其曰“高人”或"大师

那个额头冒汗的呀  心里直发虚哈

我很想成为一名js高手  就像我师父那样的(我心中的偶像呐)(*^__^*)  

我不想似懂非懂也不想不懂装懂更不想在那里凭着工作经验说事儿~~

我是不是很固执啊~有的人说女生麽  干嘛那么较真  马马虎虎的得过且过就可以了   

no way~o(>﹏<)o不要啊   我就想成为真正的js高手 (╰_╯)#

所以从今天开始我要好好的认真的看完一本书  希望能得到大家的监督哈

我一进公司。。我的第一个师父就给了我2本书 一本是这个  还有一本是css的

当时看的是挺认真的~但现在早就忘光光啦

这本书讲述的很详细  是外文翻译过来的~我想再系统的看一遍  结合我现有的工作经验好好的再细化下我的知识~

希望能得到质的飞跃\(^o^)/~

 

我会根据书中的目录的顺序来记录  对于书中的知识点~我会结合自己的实际工作经验来摘取  

---------------------------part1----------------------------------------------------------------------------------------------------------

★数据类型和值★

基本概述&#xff1a;3种基本数据类型——数字  字符串  布尔类型

     2种小的数据类型——null  undefined

     复合数据类型——对象  数组  函数 其他的类比如Date RegExp

  1. 数字&#xff08;number&#xff09;

    我经常用的是十进制~数字么  无非就是&#43;-*/运算哈  

    然后就要了解特殊的数值

       常量         含义                                               案例                                           函数检测                                          

      Infinity      表示无穷大的特殊值         超过数字的最大值          isFinite()来检测是否是正负无穷大&#xff0c;NaN 

       NaN        特殊的非数字值             0/0产生了未定义的结果或错误时     isNaN()

        方法归类            

     toString()        把数字转化成字符串

     valueof()       返回一个Number对象的基本数字值

     toFixed(0/1/2)     把数字转化成字符串  并指定小数位

    

 

  2. 字符串&#xff08;string&#xff09;

    说到字符串我首先想到的就是反斜线\ (专有名词叫转义系列)

    在工作经常用到\ “ 和 \&#39;  eg:"pp\"ss\""

    Javascript常用的转义系列

          序列   所代表的字符                                        

       \n     换行符

       \r      回车符

       \"      双引号

       \&#39;      单引号

       \\     反斜线    

      属性归类  

    length       字符串中的字符数

     方法归类   

    1&#xff09;. chartAt(n) 返回指定位置处的字符

    string.concat(value,...) 把一个或多个值连接到字符串上  同”&#43;“的功能一样  我觉得用 ”&#43;”更简单些

    2&#xff09;. indexof(substring) or indexof(substring,start)           

     检索字符串  s.indexof("abc")  返回找到abc在s的第一个出现的位置  如果没有找到返回-1 这个我在工作中还蛮经常用到的

    3&#xff09;. lastIndexof(substring) or lastIndexof(substring,start)        

     从后向前检索一个字符串 刚好indexof()方向相反  在工作中我经常这样用&#xff1a;

        //判断字符串是否以某个子串结尾的 String.prototype.endsWith &#61; function(s){var p &#61; this.lastIndexOf(s);if(p&#43;s.length&#61;&#61;this.length){return true;}elsereturn false;}

    4&#xff09;. string.replace(regExp,replacement)

      替换一个与正则表达式匹配的子串   返回的是一个新的字符串,string没有被改变

      字符串string的方法replace()执行的是查找并替换的操作。它将在string中查找与regexp相匹配的子串&#xff0c;然后用replacement替换这些子串。

      如果regexp具有全局性质g,那么replace()将将所有的匹配子串。否则他只替换第一个匹配的子串。

      还有replacement可以是字符串&#xff0c;也可以是函数呢~ps之前我不知道  这也是一个知识点哦~ 

        //显示特殊符号String.prototype.toShow &#61; function () {var RexStr &#61; /\s|\<|\>|\"|\&#39;|\&/g;str &#61; this.replace(RexStr,function(MatchStr){switch(MatchStr){case " ":return " ";break;case "<": return "<";break; case ">": return ">";break; case "\"": return &#39;"&#39;;break; case "\&#39;": return "&#39;";break;case "&":return "&";break;default :break;}});return str; };//去掉字符串首尾空格String.prototype.trim &#61; function () {var reg &#61; /(^\s*)|(\s*$)/g;return this.replace(reg, "");};
  PS:我的代码哪里出问题了嘛&#xff1f;~为什么没有变色&#xff1f;

 

   5&#xff09;.string.slice(strat,end) 和 string.subString(start,end)

     返回字符串的一个子串。 从start开始(包括start)到end为止(不包括end)的所有字符。

     slice比subString更灵活&#xff0c;因为他允许负数作为参数。如果是负数&#xff0c;那么参数声明了从字符串的尾部开始算起的位置。-1指字符串中的最后一个字符。

   6&#xff09;.string.split(",")

     将字符串分割成字符串数组。返回一个字符串数组

     eg:s &#61; "1|2|3|4"   var pp &#61; s.split("|")  &#61;&#61;&#61;&#61;&#61;&#61;pp:[1,2,3,4]

   7&#xff09;.string.toUpperCase() 和 string.toLowerCase()

     将字符串转换成大写     将字符串转换成小写

 

 

  3. 布尔值&#xff08;boolean&#xff09;

    只有true和false2种~  0,NaN,undefined,null,"“都将转化成false..其他的都会转换成true

        方法归类     

    valueof ()    返回Boolean对象中存放的原始的布尔值

    toString()    返回Boolean对象代表的布尔值返回"true"或”false“

 

  4. null 和 undefined

    null代表“无值” 即代表”无对象“的值 

    undefined代表使用了一个未声明的变量或已声明但未赋值的变量又或者使用了一个并不存在的对象属性时

   undefined不同于null  但是运算符&#61;&#61;却将2者看做相等

   如果你想区分null和undefined  可以使用&#61;&#61;&#61; 或 typeof

 

 

  5.  数组 (arry)   

   数组我想大家很熟悉吧~我现在了组要归纳下他的方法。。属性的话就是length

     方法归类 

        1)  .array.concat(value,....)

     连接数组。返回一个新的数组&#xff0c;如果value是一个数组&#xff0c;那么添加的是数组中的元素&#xff0c;而不是数组

     eg:var a&#61;[1,2,3]   a.concat([4,5],[6,[7,8]])   //returns  [1,2,3,4,5,6,[7,8]]

     在工作中我经常用来复制数组  

      //复制数组Array.prototype.copy&#61;function(o){return this.concat();};

 

    2) .array.join(separator)

      将数组元素连接成一个字符串。我想大家这个不会陌生吧~当无参数时&#xff0c;用逗号作为分隔符。

      我想大家一定想到了string中的split方法  好聪明啊~正好2个是相反的操作

      eg&#xff1a;a &#61; [1,2,3]   return a.join(" ")  // return  "123"

    3) .array.pop()  和 array.push()

      pop:删除并返回数组的最后一个元素    改变了array的长度并且返回最有一个值。。若果数组是空的则返回undefined

      push:给数组添加新的元素

    4) .array.reverse()    颠倒数组中的元素顺序~它是在原数组上实现这个以操作作为替换。。。记住啦  他不是创建一个新的数组呢

    5) .array.shift() 和  array.unshift()

     shift: 移除数组的第一个元素并返回该元素  是不是pop()方法很类似~一个是第一个元素&#xff0c;还有一个是最后一个元素

     unshift:跟shift相反。。它是在数组头部插入元素&#xff0c;返回数组的长度.   

      eg:var a&#61;[];a.unshift(1) //a:[1] return:1a.unshit(22) //a:[22,1] return:2 a.shift() //a:[1] return: 22a.unshift(33,[4,5]) //a:[33,[4,5],1] return:3

   6) .array.slice(start,end) 

    返回数组的一部分  与字符串的slice差不多  包含从start到end(不包括end)的指定元素 

    而且start跟end都可以为负数  -1代表数组的最后一个

    

    eg: var a &#61; [1,2,3,4,5]a.slice(0,3) //return:[1,2,3]a.slice(3) //return:[4,5]a.slice(1,-1) //return:[2,3,4]

  7) .array.splice(index,howmany,值1,值2,...)

    用于插入、删除或替换数组的元素。该方法会修改数组本身&#xff0c;而不是创建一个新数组。

    参数&#xff1a;index&#xff1a;必需。规定从何处添加/删除元素。

      howmany&#xff1a;必需。规定应该删除多少个元素。可以是0。

      值1,值2,...&#xff1a;可选。规定要添加到数组的新元素。从index所指的下标处开始插入。

      返回值&#xff1a;修改后的数组。

      注1&#xff1a;该方法会修改数组本身&#xff0c;而不是创建一个新数组。

      注2&#xff1a;当只给出index和howmany参数&#xff0c;实现的是删除元素功能。

      注3&#xff1a;当howmany参数为0&#xff0c;且给出添加的数值&#xff0c;实现的是插入元素功能。

      注4&#xff1a;当howmany参数不为0&#xff0c;且给出添加的数值&#xff0c;实现的是替换元素功能。

        eg:var a &#61;[1,2,3,4,5,6,7,8];a.splice(4) // a:[1,2,3,4]a.splice(1,2) // a:[1,4]a.splice(1,1) // a:[1]a.splice(1,0,2,3) // a:[1,2,3]

      对于这个方法。我们经常可能会这样封装一下再使用
      1>删除指定位置的元素
        Array.prototype.removeAt &#61; function(i){
           this.splice(i,1)
        }
&#96;     2>删除指定的元素
        Array.prototype.remove &#61; function(o){
           var index &#61; this.indexof(o)
           if(index!&#61;-1)
              this.splice(i,1)
        }
      3>在数组指定的位置处插入元素
        Array.prototype.insertAt &#61; function(o,i){
           this.splice(i,0,o)         
        }
      4>在某元素后插入新的元素
        Array.prototype.insetAfter &#61; function(o,o2){
          var index &#61; this.indexof(o);
          if(index &#61;&#61; -1)
            this.push(o2);
          else
            this.splice(index,0,o2)
        }

 

     3种基本数据类型整理完毕  ~~~~(>_<)~~~~ 累死了

     下次整理复合类的数据~加油加油↖(^ω^)↗

     ps:如果哪里写错了~希望各位大侠能够指出来  帮帮我这个小虾米~

     PPS:http://365353618.taobao.com/?spm&#61;2013.1.1000126.21.mAzNyB是我的点店哦~欢迎来看看哈

转:https://www.cnblogs.com/ppgirl/p/3114975.html



推荐阅读
  • 本文总结了JavaScript的核心知识点和实用技巧,涵盖了变量声明、DOM操作、事件处理等重要方面。例如,通过`event.srcElement`获取触发事件的元素,并使用`alert`显示其HTML结构;利用`innerText`和`innerHTML`属性分别设置和获取文本内容及HTML内容。此外,还介绍了如何在表单中动态生成和操作``元素,以便更好地处理用户输入。这些技巧对于提升前端开发效率和代码质量具有重要意义。 ... [详细]
  • 本文探讨了使用JavaScript在不同页面间传递参数的技术方法。具体而言,从a.html页面跳转至b.html时,如何携带参数并使b.html替代当前页面显示,而非新开窗口。文中详细介绍了实现这一功能的代码及注释,帮助开发者更好地理解和应用该技术。 ... [详细]
  • 本文介绍了UUID(通用唯一标识符)的概念及其在JavaScript中生成Java兼容UUID的代码实现与优化技巧。UUID是一个128位的唯一标识符,广泛应用于分布式系统中以确保唯一性。文章详细探讨了如何利用JavaScript生成符合Java标准的UUID,并提供了多种优化方法,以提高生成效率和兼容性。 ... [详细]
  • 本文介绍了 Python 中的基本数据类型,包括不可变数据类型(数字、字符串、元组)和可变数据类型(列表、字典、集合),并详细解释了每种数据类型的使用方法和常见操作。 ... [详细]
  • MySQL初级篇——字符串、日期时间、流程控制函数的相关应用
    文章目录:1.字符串函数2.日期时间函数2.1获取日期时间2.2日期与时间戳的转换2.3获取年月日、时分秒、星期数、天数等函数2.4时间和秒钟的转换2. ... [详细]
  • 本文全面解析了 Python 中字符串处理的常用操作与技巧。首先介绍了如何通过 `s.strip()`, `s.lstrip()` 和 `s.rstrip()` 方法去除字符串中的空格和特殊符号。接着,详细讲解了字符串复制的方法,包括使用 `sStr1 = sStr2` 进行简单的赋值复制。此外,还探讨了字符串连接、分割、替换等高级操作,并提供了丰富的示例代码,帮助读者深入理解和掌握这些实用技巧。 ... [详细]
  • Python内置模块详解:正则表达式re模块的应用与解析
    正则表达式是一种强大的文本处理工具,通过特定的字符序列来定义搜索模式。本文详细介绍了Python内置的`re`模块,探讨了其在字符串匹配、验证和提取中的应用。例如,可以通过正则表达式验证电子邮件地址、电话号码、QQ号、密码、URL和IP地址等。此外,文章还深入解析了`re`模块的各种函数和方法,提供了丰富的示例代码,帮助读者更好地理解和使用这一工具。 ... [详细]
  • java解析json转Map前段时间在做json报文处理的时候,写了一个针对不同格式json转map的处理工具方法,总结记录如下:1、单节点单层级、单节点多层级json转mapim ... [详细]
  • python模块之正则
    re模块可以读懂你写的正则表达式根据你写的表达式去执行任务用re去操作正则正则表达式使用一些规则来检测一些字符串是否符合个人要求,从一段字符串中找到符合要求的内容。在 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 在 JavaScript 中,浮点数的除法运算常常会出现精度问题。本文介绍了一种方法,通过自定义函数来精确控制除法运算结果的小数位数,确保计算结果的准确性。该方法不仅适用于除法,还可以扩展到其他浮点数运算,有效避免了 JavaScript 在处理浮点数时常见的精度误差。 ... [详细]
  • 优化Vite 1.0至2.0升级过程中遇到的某些代码块过大问题解决方案
    本文详细探讨了在将项目从 Vite 1.0 升级到 2.0 的过程中,如何解决某些代码块过大的问题。通过具体的编码示例,文章提供了全面的解决方案,帮助开发者有效优化打包性能。 ... [详细]
  • Python 序列图分割与可视化编程入门教程
    本文介绍了如何使用 Python 进行序列图的快速分割与可视化。通过一个实际案例,详细展示了从需求分析到代码实现的全过程。具体包括如何读取序列图数据、应用分割算法以及利用可视化库生成直观的图表,帮助非编程背景的用户也能轻松上手。 ... [详细]
  • 寻找最长无重复字符的子字符串 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有