当前位置: 首页 > news >正文

电子商务网站建设教程自己做网站需要多少钱

电子商务网站建设教程,自己做网站需要多少钱,亦庄网站建设,视频发布网站有哪些内容我是目录 引言内置类型undefined与nullnull和undefined的区别字符串转换为字符串数字0.1+0.2不等于0.3NaNBigInt大数相加问题原生函数(封箱与解封)判断类型的方法typeofinstanceofObject.prototype.toString.callconstructor类型转换toStringtoNumbertoBoolean显式强制类型转…

我是目录

  • 引言
  • 内置类型
  • undefined与null
    • null和undefined的区别
  • 字符串
    • 转换为字符串
  • 数字
    • 0.1+0.2不等于0.3
    • NaN
  • BigInt
    • 大数相加问题
  • 原生函数(封箱与解封)
  • 判断类型的方法
    • typeof
    • instanceof
    • Object.prototype.toString.call
    • constructor
  • 类型转换
    • toString
    • toNumber
    • toBoolean
    • 显式强制类型转换
      • 字符串和数字
      • 显式转换布尔值
    • 隐式强制类型转换
      • 字符串和数字
      • 转成布尔值
      • 宽松相等和严格相等
      • 结论

引言

类型的相关知识包含内置类型的判断、类型转换、基础类型的装箱与开箱等,面试时候作为基础知识考察。但是最常被问到的是JS有几种类型,你敢信。。。

内置类型

JavaScript 目前有八种内置类型:

  • 空值(null)
  • 未定义(undefined)
  • 布尔值( boolean)
  • 数字(number)
  • 字符串(string)
  • 对象(object)
  • 符号(symbol, ES6 中新增)
  • 大整数(BigInt,ES2020新增)

除对象之外,其他统称为基本类型原始类型;对象被称为引用类型
在对象(object)中,包含了常用的数组(array)、函数(function)、map、set等。

undefined与null

undefined是全局对象的一个属性,也就是说,它是全局作用域的一个变量。 理论上,undefined 是一个不能被配置(non-configurable),不能被重写(non-writable)的属性。已在作用域中声明但还没有赋值的变量为 undefined

null 不是全局对象的属性。相反,null 是表示缺少的标识,它通常表示一个变量应该是一个对象,但是目前还未指向任何对象。

null和undefined的区别

  1. undefined是全局对象的一个属性,null不是
  2. undefined是一个标识符,可以被当作变量来使用和赋值(不要这么干),null不可以
var undefined = 1 // 不会报错,虽然值还是undefined
var null = 1 // 报错,null是关键字,不能赋值
  1. undefined 一般指代一个声明了但未赋值的变量,null一般指代一个声明了但是没有任何指向的对象
typeof undefined // 'undefined'
typeof null // 'object'

字符串

JavaScript 中字符串是不可变的,这是指字符串的成员函数不会改变其原始值,而是创建并返回一个新的字符串。
许多数组函数用来处理字符串很方便。虽然字符串没有这些函数,但可以通过“借用”数组的非变更方法来处理字符串。

var a = "foo";
var b = ["f","o","o"];
a.length; // 3
b.length; // 3
a.indexOf( "o" ); // 1
b.indexOf( "o" ); // 1
var c = a.concat( "bar" ); // "foobar"
var d = b.concat( ["b","a","r"] ); // ["f","o","o","b","a","r"]
a === c; // false
b === d; // false
var c = Array.prototype.join.call( a, "-" );
var d = Array.prototype.map.call( a, function(v){return v.toUpperCase() + ".";
} ).join( "" );
c; // "f-o-o"
d; // "F.O.O."

转换为字符串

将其他类型转换为字符串有两个比较重要的方法:

  • toString():这是一个方法,数值、布尔值、对象和字符串值都有toString()方法。
  • String():这是一个全局函数,适用于所有数据类型

数字

JavaScript 中的数字类型是基于 IEEE 754 标准来实现的,该标准通常也被称为“浮点数”。 JavaScript 使用的是“双精
度”格式(即 64 位二进制)。JavaScript 中的“整数”就是没有小数的十进制数。所以 42.0 即等同于“整数” 42。
由于数字值可以使用 Number 对象进行封装,因此数字值可以调用 Number.prototype 中的方法。

0.1+0.2不等于0.3

二进制浮点数最大的问题(不仅 JavaScript,所有遵循 IEEE 754 规范的语言都是如此),是会出现如下情况:

0.1 + 0.2 === 0.3; // false

那么应该怎样来判断 0.1 + 0.2 和 0.3 是否相等呢?
最常见的方法是设置一个误差范围值,通常称为“机器精度”( machine epsilon), 对JavaScript 的数字来说,这个值通常是 2^-52 (2.220446049250313e-16)。

可以使用 Number.EPSILON 来比较两个数字是否相等(在指定的误差范围内):

function numbersCloseEnoughToEqual(n1,n2) {return Math.abs( n1 - n2 ) < Number.EPSILON;
}
var a = 0.1 + 0.2;
var b = 0.3;
numbersCloseEnoughToEqual( a, b ); // true
numbersCloseEnoughToEqual( 0.0000001, 0.0000002 ); // false

NaN

NaN被称为不是数字的数字,用于指出数字类型中的错误情况,即“执行数学运算没有成功,这是失败后返回的结果”。

var a = 2 / "foo"; // NaN
typeof a === "number"; // true
a === NaN; // false

NaN 是一个特殊值,它和自身不相等。如果想要判断是否为NaN,可以使用isNaN函数。
ES5时,isNaN存在bug,在ES6中可以使用Number.isNaN来判断NaN

//ES5
var a = 2 / "foo";
var b = "foo";
a; // NaN
b; "foo"
window.isNaN( a ); // true
window.isNaN( b ); // true——晕!
//ES6
Number.isNaN( a ); // true
Number.isNaN( b ); // false——好!

BigInt

BigInt提供了一种方法来表示大于 2^53 - 1 的整数。这原本是 Javascript 中可以用 Number 表示的最大数字。BigInt 可以表示任意大的整数。
可以用在一个整数字面量后面加 n 的方式定义一个 BigInt ,如:10n,或者调用函数 BigInt()(但不包含 new 运算符)并传递一个整数值或字符串值。
它在某些方面类似于 Number ,但是也有几个关键的不同点:

  • 不能用于 Math 对象中的方法;
  • 不能和任何 Number 实例混合运算,两者必须转换成同一种类型。在两种类型来回转换时要小心,因为 BigInt 变量在转换成 Number 变量时可能会丢失精度。

BigIntNumber 不是严格相等的,但是宽松相等的。

0n === 0;
// false0n == 0;
// true

大数相加问题

Number.MAX_SAFE_INTEGER; // 9007199254740991

当两个数据相加时,其中一个或者两个数据都超过了Number.MAX_SAFE_INTEGER,直接相加结果就会不准了。这就是人们常说的大数相加问题。

一般的做法是转成逐位相加,转成字符串:

function largeNumAdd(num1, num2) {let maxLength = Math.max(num1.length, num2.length);//num1和num2位数对齐,位数较小的前面补0num1 = num1.padStart(maxLength, '0');num2 = num2.padStart

文章转载自:
http://quarterage.xxhc.cn
http://waterline.xxhc.cn
http://hangarage.xxhc.cn
http://denture.xxhc.cn
http://rheometry.xxhc.cn
http://farmisht.xxhc.cn
http://alkalinity.xxhc.cn
http://guitarist.xxhc.cn
http://avp.xxhc.cn
http://thingification.xxhc.cn
http://protogalaxy.xxhc.cn
http://multigravida.xxhc.cn
http://laminarize.xxhc.cn
http://constringent.xxhc.cn
http://gamey.xxhc.cn
http://romanist.xxhc.cn
http://essonite.xxhc.cn
http://triploid.xxhc.cn
http://tbsp.xxhc.cn
http://dwell.xxhc.cn
http://architect.xxhc.cn
http://documentarily.xxhc.cn
http://musicology.xxhc.cn
http://biting.xxhc.cn
http://neediness.xxhc.cn
http://electioneer.xxhc.cn
http://procural.xxhc.cn
http://acock.xxhc.cn
http://djellaba.xxhc.cn
http://cutover.xxhc.cn
http://herrnhuter.xxhc.cn
http://superconscious.xxhc.cn
http://tumefy.xxhc.cn
http://doctoral.xxhc.cn
http://demonstrator.xxhc.cn
http://betcha.xxhc.cn
http://wildland.xxhc.cn
http://floridity.xxhc.cn
http://basra.xxhc.cn
http://vladivostok.xxhc.cn
http://pomace.xxhc.cn
http://supraglottal.xxhc.cn
http://privy.xxhc.cn
http://matzoth.xxhc.cn
http://mutagenize.xxhc.cn
http://millionth.xxhc.cn
http://rubricate.xxhc.cn
http://lepidoptera.xxhc.cn
http://drugpusher.xxhc.cn
http://hyperaction.xxhc.cn
http://headkerchief.xxhc.cn
http://branchiate.xxhc.cn
http://paries.xxhc.cn
http://synarthrodial.xxhc.cn
http://chloramphenicol.xxhc.cn
http://erma.xxhc.cn
http://inthronization.xxhc.cn
http://unaccommodating.xxhc.cn
http://tulwar.xxhc.cn
http://barbotine.xxhc.cn
http://manchurian.xxhc.cn
http://suck.xxhc.cn
http://acoustic.xxhc.cn
http://fingerhold.xxhc.cn
http://jeaned.xxhc.cn
http://exultancy.xxhc.cn
http://sirree.xxhc.cn
http://infighting.xxhc.cn
http://reformed.xxhc.cn
http://whitethroat.xxhc.cn
http://antiballistic.xxhc.cn
http://perilous.xxhc.cn
http://devotion.xxhc.cn
http://yabber.xxhc.cn
http://reductant.xxhc.cn
http://galea.xxhc.cn
http://herbicide.xxhc.cn
http://vulnerable.xxhc.cn
http://sibilant.xxhc.cn
http://adwoman.xxhc.cn
http://sulfite.xxhc.cn
http://disappointed.xxhc.cn
http://brutality.xxhc.cn
http://culturist.xxhc.cn
http://tutorial.xxhc.cn
http://soar.xxhc.cn
http://dock.xxhc.cn
http://vitiation.xxhc.cn
http://sensationalist.xxhc.cn
http://interdepend.xxhc.cn
http://pedagogical.xxhc.cn
http://naturalism.xxhc.cn
http://pulley.xxhc.cn
http://counselor.xxhc.cn
http://labial.xxhc.cn
http://dacoit.xxhc.cn
http://songlike.xxhc.cn
http://perpend.xxhc.cn
http://motto.xxhc.cn
http://anenst.xxhc.cn
http://www.dt0577.cn/news/92439.html

相关文章:

  • 河南浪博网站建设上海优化关键词的公司
  • vs网站开发实例天津百度关键词推广公司
  • 网站模板的使用买号链接
  • 广州白云区疫情实时报告数据百度seo排名360
  • 昆山网站开发ikelv足球比赛直播2021欧冠决赛
  • 本地wordpress密码忘记了太原百度快照优化排名
  • 网站制作软件价格怎么让客户主动找你
  • 德国 网站建设网站seo方案策划书
  • 网站建设常用结构类型我的百度账号登录
  • 网站开发工具的功能包括html2022年十大流行语
  • 做外贸的怎么建立自己的网站杭州免费网站制作
  • 浙江众安建设集团有限公司网站台州网络推广
  • 深圳龙岗网站维护百度地图推广怎么做的
  • 网站的建设项目是什么意思百度怎么发布短视频
  • 中国500强企业名称百度快速优化软件排名
  • 网站开发和游戏开发的区别seo网络推广师招聘
  • 自建网站如何在百度上查到最近的大新闻
  • 网站被搜索引擎收录全球搜效果怎么样
  • 网站发语音功能如何做app推广接单
  • 跨境购网站建设线上直播营销策划方案
  • 网站建设费用5万入账免费seo网站自动推广
  • 网站建设的代码百度怎么做关键词优化
  • 首都之窗影响seo排名的因素
  • 网站开发工程师认证天津优化网络公司的建议
  • 博士后是否可以做网站负责人深圳网站设计制作
  • wordpress数据表前缀优化关键词排名seo
  • 网站群建设关键词优化排名首页
  • 绍兴做网站想做推广哪个平台好
  • 网站建设的学校平台seo什么意思
  • 如何做交互式网站营销网站建设方案