javaScript 基础知识汇总(六)

摘要:
JavaScript中还有其他类型的对象,例如函数。letms=1e-6;//e之后的负数表示除以1,后跟给定的0:十六进制、二进制和八进制数字十六进制主要用于表示JavaScript中的颜色编码字符。

1、基本类型与对象的区别

  基本类型:是原始类型的中的一种值。

       在JavaScript中有6中基本类型:string number  boolean  symbol  null  undefined

  对象类型:能够存储多个值作为属性

       可以使用大括号{}创建对象,例如:{name:"xiao",age:23}.。JavaScript中还有其他种类的对象,例如函数就是对象。

2、作为对象的基本类型

  1)基本类型仍然是原始数据,如预期相同,提供单个值

  2)JavaScript允许访问字符串数字,布尔值和符号的方法和属性。

  3)当进行访问时,创建一个特殊的包装对象,它提供额外的功能,运行后即销毁

  不同类型提供都有自带的方法

  例如:

     //字符串的

     let  str = "Hello";

     alert(srt.ToUpperCase());//HELLO 

     //数字的

     let n = 1.123456

     alert(n.toFixed(2))//1.23 

  null/undefined 没有任何方法 除了这两个之外,其他的基本类型都有自己自带的方法。下面开始详解

3、数字类型

  JavaScript中的所有数字都以64位格式 IEEE-754存储,也称为双精度

  编写数字的方法

  通过 关键字  e来缩短数字,并指定零的数量来计数

  let billion = 1e9;  //  "e" 把数字乘以 1 后面跟着指定数量的 0。

  let ms =1e-6;       //e 后面的负数表示除以 1 后面跟着给定数量的 0:

  十六进制,二进制和八进制数字

  十六进制在JavaScript中主要是用来表示颜色 编码字符等。

  alert(0xff);//255

  二进制和八进制

  let a = 0b11111111;

  let b = 0o377;

  alert(a==b);//true

  只有这三种进制支持这种写法。对于其他进制,我们应该使用函数 parseInt

  toString(base)

  方法 num.toString(base) 返回带有给定 base 的进制中 num 的字符串表示

1 let num = 255;
2 alert(num.toString(16));//ff
3 alert(num.toString(2));//11111111

  数值修约

  JavaScript内置的修约函数

  Math.floor                向下舍入:3.1变成3  -1.1变成-2

  Math.ceil               向上舍入:3.1变成4  -1.1变成-1

  Math.round    向最近的整数舍入:3.1变成3      3.6变成4  

  Math.trunc (IE浏览器不支持这个方法)删除小数点后面的所有内容不舍入:3.1变成3 -1.1变成-1

  不精确计算

  alert(0.1+0.2==0.3);//false

  alert(0.1+0.2);// // 0.30000000000000004

  在JavaScript语言中表达小数都有精度损失

  解决方法:通过特定函数  toFixed(n) 来解决

  let sum = 0.1+0.2;

  alert(+sum.toFixed(2));//0.30

  或者将其转化成整数解决

  测试:isFinite 和isNaN

  isNaN(value) 将其参数转换为数字,然后测试它是否为NaN

  NaN与任何值不相等,包括自己  alert(isNaN(NaN);//true    alert(NaN==NaN);//false

  isFinite  验证字符串值是否为常规数字

  alert(isFinite("15"));// true
  alert(isFinite("str"));// false, because a special value: NaN
  alert(isFinite(Infinity));// false, because a special value: Infinity

  请注意,所有数字函数(包括 isFinite)中的空字符串或空格字符串均被视为 0

  parseInt 和parseFloat

  有时候 parseInt / parseFloat 会返回 NaN。一般发生在没有数字可读的情况下:

1 alert( parseInt('100px') ); // 100
2 alert( parseFloat('12.5em') ); // 12.5
3 
4 alert( parseInt('12.3') ); // 12, only the integer part is returned
5 alert( parseFloat('12.3.4') ); // 12.3, the second point stops the reading

  更多的数学函数 同构Math对象来获取  Math.random()随机数 Math.pow(n,power) n的power次幂

4、字符串 

  引号

  字符串可以包含再单引号、双引号和反引号中

  let single = 'single-quoted';

  let double = "double-quoted";

  let backtickts` = `bacticks`;

  单引号和反引号本质是一样的,但是反引号允许我们通过${...}将任何表达式嵌入到字符串:

  function sum(a,b){

    return a+b;

  }

  alert(`1+2=${sum(1,2)}.`);//1+2=3

  使用反引号的另一个优点是它们允许字符串跨行:

  let guestList = `Guests:

    *John

    *Pete

    `;

  alert(guestList);

  特殊字符

  javaScript 基础知识汇总(六)第1张

   字符串长度

  let str = "test";

  let len = str.length;  //其他语言中可能是length()一个方法,但是在Javascript中这个是属性

  访问字符

  通过 "[]" 或者 "charAt()"

  可以通过 for ..of遍历字符

1 for (let char of "Hello") {
2   alert(char); // H,e,l,l,o (char 变为“H”,然后是“e”,然后是“l”等)
3 }

  字符串不可变

  因为字符串是引用类型,该值是放在堆上的,堆上的值是不可更改的,只能开辟新的空间来存放新的字符串 

1 let str = 'hi';
2 str[0]='A';//error
3 
4 str='h'+str[1];//right

  改变大小写

  toLowerCase() 和 toUpperCase() 

1 alert( 'Interface'.toUpperCase() ); // INTERFACE
2 alert( 'Interface'.toLowerCase() ); // interface

  查找字符串

  str.indexOf 

1 let str = "hello world";
2 let pos = str.indexOf('wo');
3 let pos1 = str.indexOf('wo',2);
4 第一种为不设置查找起始位置,第二种为设置查找起始位值

  str.lastIndexOf 和indexOf 用法一样,含义为从字符串的末尾开始寻找

  includes , startsWith , endsWith

   主要用来测试匹配,并且不需要其位置  

1 alert( "Widget with id".includes("Widget") ); // true
2 alert( "Hello".includes("Bye") ); // false
3 alert( "Midget".includes("id") ); // true
4 alert( "Midget".includes("id", 3) ); // false, 位置 3 没有“id”
5 alert( "Widget".startsWith("Wid") ); // true,“Widget”以“Wid”开始
6 alert( "Widget".endsWith("get") ); // true,“Widget”以“get”结束

  获取子字符串

  有三种获取子字符串的方法:substring , sunstr 和 slice

  javaScript 基础知识汇总(六)第2张

  

免责声明:文章转载自《javaScript 基础知识汇总(六)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java中Set真的是无序的吗?C# 委托、匿名方法以及lambda表达式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PHP按符号截取字符串的指定部分

字符串截取在php开发中是比较常用的;而且对于截取的需求也有很多种;就比如说对url链接的操作:http://baijunyao.com/article/12 有时我们想截取最后一个斜杠'/'后面的数字;有时我们又需要截取第一个斜杠'/'前面的内容判断用户输入的url链接带不带http://等等; 字符串的截取php内置函数就有很多种;简单示例如下; 1...

C++(四十八) — string容器的基本操作

参考博客:https://blog.csdn.net/qq_37941471/article/details/82107077 https://www.cnblogs.com/danielStudy/p/7127564.html#top 1、声明一个字符串 标准库类型string表示可变长的字符序列,为了在程序中使用string类型,我们必须包含头文件:#...

Webview 与h5的交互

步骤:H5代码   <html>   <head>   <meta charset="UTF-8">   <title>交互Demo</title>   <meta content="initial-scale=1.0,user-scalable=no,maximum-scale=1,wid...

MySQL学习笔记:upper、lower、ucase、lacase——字符串函数

  在MySQL中,通过利用upper、lower、ucase、lacase几个函数对字符串进行大小写转换。 upper(str)——根据当前字符集映射返回字符串str,并将所有字符更改为大写。默认值是latin1(西欧cp1252)。 lower(str)——根据当前字符集映射返回字符串str,并将所有字符更改为小写。默认值是latin1(西欧cp12...

Javascript诞生与历史

基本常识 Brendan Eich在1995年4月入职Netscape Communications Corporation(网景通信公司)。并于1995年5月用10天时间发明了Javascript。 Javascript语言特点 借鉴c语言的基本语法 借鉴Java语言的数据类型和内存管理 借鉴Scheme语言,将函数提升到“第一等公民”(first c...

HTML页面跳转的5种方法

下面列了五个例子来详细说明,这几个例子的主要功能是:在5秒后,自动跳转到同目录下的hello.html(根据自己需要自行修改)文件。1) html的实现   1 2 3 4 5 6 <head> <!-- 以下方式只是刷新不跳转到其他页面 --> <metahttp-equiv="refresh" content...