精华内容
下载资源
问答
  • 【js中基本类型和引用类型有哪些,有什么区别?】 每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析前端知识/技能,本篇...

    这里是修真院前端小课堂,本篇分析的主题是

    【js中的基本类型和引用类型有哪些,有什么区别?】

    每篇分享文从

    【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

    八个方面深度解析前端知识/技能,本篇分享的是:

    【js中的基本类型和引用类型有哪些,有什么区别?】

     

     

    大家好,我是IT修真院郑州分院第8期学员,一枚正直善良的web程序员。

    今天给大家分享一下,修真院官网js任务1中可能会使用到的知识点:

     

    1.背景介绍

     

    基本数据类型:按值访问,可操作保存在变量中的实际的值。基本类型值指的是简单的数据段。

    基本数据类型有这五种:Undefined、Null、String、Number、Boolean。

    引用类型:当复制保存着对象的某个变量时,操作的是对象的引用,但在为对象添加属性时,操作的是实际的对象。引用类型值指那些可能为多个值构成的对象。引用类型值指那些可能为多个值构成的对象。

    引用类型有这几种:object、Array、RegExp、Date、Function、特殊的基本包装类型(String、Number、Boolean)以及单体内置对象(Global、Math)。

     

    2.知识剖析

     

    1.Number

    Number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后面至少有一位数字)两种值。
    NaN:非数字类型。两大特点:1.涉及到的 任何关于NaN的操作,都会返回NaN。2. NaN不等于自身。

    isNaN() 函数用于检查其参数是否是非数字值

    2.String

    字符串是存储字符的变量,由双引号(" ")或单引号(' ')表示
    字符串有length属性。可以取得字符串的长度。

    字符串转换:转型函数String(),适用于任何数据类型(null,undefined 转换后为null和undefined);toString()方法(null,undefined没有toString()方法)。

    3.Boolean

    只有两个值,true和false;在运算中true=1,false=0。

    4.Undefined

    只有一个值,即undefined值。使用var声明了变量,但未给变量初始化值,那么这个变量的值就是undefined。

    5.Null

    也是只有一个值的数据类型,null值表示一个空对象指针,使用typeof操作符检测null值会返回"object"

    6.常见的引用类型

    Object类型:带有属性和方法的特殊数据类型。
    Array:是使用单独的变量名来存储一系列的值。

    Function:函数类型在JavaScript中也是对象。

    7.基本类型和引用类型的区别

    基本类型的变量是存放在栈区的(栈区指内存里的栈内存);
    引用类型的值是同时保存在栈内存和堆内存中的对象;
    基本类型的比较是值的比较;
    引用类型的比较是引用的比较;

     

    3.常见问题

     

    4.解决方案

    5.编码实战


    6.扩展思考

    1.Null和Undefined的区别?

    null和undefined基本同义,只有一些细微的差别。

    null表示“没有对象”,即该处不应该有值。

     

    (1) 作为函数的参数,表示该函数的参数不是对象。

    (2) 作为对象原型链的终点。

    undefined表示缺少值,此处应该有值,但是还没有定义。

     

    (1)变量被声明了,但没有赋值时,就等于undefined。

    (2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。

    (3)对象没有赋值的属性,该属性的值为undefined。

    (4)函数没有返回值时,默认返回undefined。

    2.NaN是什么?

    NaN表示一个元素可不是数值,isNaN()用于判断元素是否为数字的函数,是的话返回false,不是数字返回true。NaN和任何值比较都不相等。

    3.什么是栈内存,什么是堆内存,两者有什么区别?

    栈内存:由程序自动向操作系统申请分配以及回收,速度快,使用方便,但程序员无法控制。若分配失败,则提示栈溢出错误。注意,const局部变量也储存在栈区内,栈区向地址减小的方向增长。

    堆内存:程序员向操作系统申请一块内存,当系统收到程序的申请时,会遍历一个记录空闲内存地址的链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序。分配的速度较慢,地址不连续,容易碎片化。此外,由程序员申请,同时也必须由程序员负责销毁,否则则导致内存泄露

    • 关于堆和栈区别的比喻:

    堆和栈的区别可以引用一位前辈的比喻来看出:使用栈就象我们去饭馆里吃饭,只管点菜(发出申请)、付钱、和吃(使用),吃饱了就走,不必理会切菜、洗菜等准备工作和洗碗、刷锅等扫尾工作,他的好处是快捷,但是自由度小。使用堆就象是自己动手做喜欢吃的菜肴,比较麻烦,但是比较符合自己的口味,而且自由度大。

     


    更多讨论

    PPT:https://it-xzy.github.io/WEB-NEW/2018-4-28-C%E7%BB%84-js1.html

    腾讯视频:https://v.qq.com/x/page/d0640dcrofz.html

    展开全文
  • 参考文献的著录是书稿编校中的难点,今天分享几个常见的问题,希望能够抛砖引玉,对大家有所帮助。1.文后参考文献有哪些格式?国标《GB/T 7714—2015 信息与文献 参考文献著录规则》(以下称“参考文献标准”)和《CY/...

    1200e40caf04559287e0ff2ef2de09b5.gif

    参考文献的著录是书稿编校中的难点,今天分享几个常见的问题,希望能够抛砖引玉,对大家有所帮助。

    6f49e259a4904130839407eb68d534a4.gif

    1. 文后参考文献有哪些格式?

    国标《GB/T 7714—2015 信息与文献 参考文献著录规则》(以下称“参考文献标准”)和《CY/T 1212015 学术出版规范 注释》(以下简称“注释标准”)分别给出了两种类型的参考文献格式。

    (1)“参考文献标准”中,参考文献的标注方法有顺序编码制和著者-出版年制两种,格式如下:

    35f964d1245bd552ffd0a886dc25c7de.png

    (2)“注释标准”给出了另一种类型的参考文献格式。

    ① 注释-编号制:

    ae1b8945a2d60782f6e2ad7d5e04146e.png

    ② 著者-出版年制:

    eeab34178370e3b496477615acb6c150.png

    上述这些格式的具体操作,大家可以去研读这两份国标。目前理工类、社科类图书多用“参考文献标准”中的格式,文史哲类的图书多习用“注释标准”中的格式。

    本文后面的问答主要针对“参考文献标准”中的顺序编码制。

    2. 

    参考文献中责任者的著作方式如何标注?

    主要责任者只标注姓名,不标注著作方式,次要责任者标注著作方式。如:

    罗斯基. 战前中国经济的增长[M]. 唐巧天,毛立坤,姜修宪,译. 杭州:浙江大学出版社,2009.

    例中主要责任者“罗斯基”没有著录著作方式,次要责任者著录了“译”的著作方式。

    3. 

    参考文献中主要责任者的国籍、朝代需要标注吗

    根据“参考文献标准”中的举例以及8.1.1的示例,国籍、朝代是不需要著录的。例如:

    ebd463fc1147fd5a711eece85e75879c.png

    4. 

    参考文献中“等”和“译”之间加逗号吗?

    “参考文献标准”虽然没有对“等”和“译”之间加不加标识符作出规定,但10.1.3给出了示例,如下:

    [3] 罗杰斯. 西方文明史:问题与源头[M]. 潘惠霞,魏婧,杨艳,等译. 大连:东北财经大学出版社,201115-16.

    由举例可知,“等”和“译”之间不加逗号。

    5. 

    参考文献中西文作者的姓名如何标注?

    “参考文献标准”的6.3明确规定:“个人著者,其姓全部著录,字母全大写。” 8.1.1规定:“欧美著者的名可用缩写字母,缩写名后省略缩写点。欧美著者的中译名只著录其姓;同姓不同名的欧美作者,其中译名不仅要著录其姓,还需著录其名的首字母。”“用汉语拼音书写的人名,姓全大写,其名可缩写,取每个汉字拼音的首字母。”87635c842c430c96881a3429c68b466a.png

    因此,在参考文献表中,西文作者和用汉语拼音书写的作者,其姓的字母都应当采用全大写字母。现在仍然有很多书刊采用仅姓的首字母大写的著录方式,是不合规范的。

    6. 

    参考文献中,外文书刊名需要斜体吗?

    根据“参考文献标准”中的举例,是不需要的。如下:

    2d566611ac8b41d3d2c751ae0361501c.png

    6f49e259a4904130839407eb68d534a4.gif

    今天就分享这么多,以后还会继续关注这个问题。希望大家多研读国标,加深对参考文献格式的认识。

    9061101265b16f5c87f9d7b39ef10366.pngEND60ce12625caac5f4ac6928aedbac34f0.png

    愿关注我们的人都能找到

    属于自己的皮球

    4791eaf9bc89d89f609f9eec70fa3b93.png

    展开全文
  • 目录 1.背景介绍 2.知识剖析 3.常见问题 4.解决方案 5.编码实战 6.扩展思考 7.参考文献 8.更多讨论 1.背景介绍 JS数据类型 E...

    目录

    1.背景介绍

    2.知识剖析

    3.常见问题

    4.解决方案

    5.编码实战

    6.扩展思考

    7.参考文献

    8.更多讨论

    1.背景介绍

    JS的数据类型

    ECMAScript中有5种简单的数据类型:Undefined,Null,Boolean,Number,String.还有一种复杂的数据类型–Object 我们经常需要判断一些数据类型再做回调函数,对于后端的接口如果传的数据类型不符,也经常会报错,而且数据类型的判断也是面试的一大必考题

    我们需要了解什么

    1.判断数据类型的几种方法
    2.各方法的区别

    2.知识剖析

    判断数据类型共有四种方法:

    1.typeof

    2.instanceof

    3.constructor

    4.Object.prototype.toString.call

    3.常见问题

    各方法的区别

    4.解决方案

    1.最常见的判断方法typeof

    console.log(typeof “”) //string;
    console.log(typeof 1) //number;
    console.log(typeof true) //boolean;
    console.log(typeof null) //object;
    console.log(typeof undefined) //undefined;
    console.log(typeof []) //object;
    console.log(typeof function(){}) //function;
    console.log(typeof {}) //object;
    可以看到,typeof对于基本数据类型判断是没有问题的,但是遇到引用数据类型(如:Array)是不起作用的。

    2.判断已知对象类型的方法instanceof


    console.log(“1” instanceof String);//false
    console.log(true instanceof Boolean);//false
    // console.log(null instanceof Null);//报错
    // console.log(undefined instanceof Undefined);//报错
    console.log([] instanceof Array);//true
    console.log(function(){} instanceof Function);//true
    console.log({} instanceof Object);//true
    可以看到instanceof判断引用数据类型,可以得到正确的结果,基础类型却不行,而null和undefined浏览器直接报错。尤其是null,其实这是js设计的一个败笔,早期准备更改null的类型为null,由于当时已经有大量网站使用了null,如果更改,将导致很多网站的逻辑出现漏洞问题,就没有更改过来,于是一直遗留到现在。作为学习者,我们只需要记住就好。

    3、根据对象的constructor判断: constructor

    console.log((“1”).constructor === String);//true
    console.log((1).constructor === Number);//true
    console.log((true).constructor === Boolean);//true
    //console.log((null).constructor === Null);//报错
    //console.log((undefined).constructor === Undefined);//报错
    console.log(([]).constructor === Array);//true
    console.log((function() {}).constructor === Function);//true
    console.log(({}).constructor === Object);//true
    (这里依然抛开null和undefined)乍一看,constructor似乎完全可以应对基本数据类型和引用数据类型,都能检测出数据类型,事实上并不是如此,来看看为什么:

    function Fn(){};
    Fn.prototype=new Array();
    var f=new Fn();
    console.log(f.constructor===Fn);//false
    console.log(f.constructor===Array);//true

    我声明了一个构造函数,并且把他的原型指向了Array的原型,所以这种情况下,constructor也显得力不从心了。

    注意: constructor 在类继承时会出错

    4.万能的Object.prototype.toString.call

    function Type() { };
    var toString = Object.prototype.toString;
    console.log(toString.call(new Date) === ‘[object Date]’);//true
    console.log(toString.call(new String) ===’[object String]’);//true
    console.log(toString.call(new Function) ===’[object Function]’);//true
    console.log(toString.call(Type) ===’[object Function]’);//true
    console.log(toString.call(‘str’) ===’[object String]’);//true
    console.log(toString.call(Math) === ‘[object Math]’);//true
    console.log(toString.call(true) ===’[object Boolean]’);//true
    console.log(toString.call(/^[a-zA-Z]{5,20}$/) ===’[object RegExp]’);//true
    console.log(toString.call({name:’wenzi’, age:25}) ===’[object Object]’);//true
    console.log(toString.call([1, 2, 3, 4]) ===’[object Array]’);//true
    console.log(toString.call(undefined) === ‘[object Undefined]’);//true
    console.log(toString.call(null) === ‘[object Null]’);//true

    5.编码实战

    6.扩展思考

    7.参考文献

    js检测数据类型的四种方法:https://www.cnblogs.com/zt123123/p/7623409.html

    8.更多讨论

    Q1:如何判断是否是null值
    使用typeof会返回object
    instanceof会报错
    constructor会报错
    Object.prototype.toString.call返回[object Null]

    Q2:typeof的局限性
    if(typeof a!=”undefined”){alert(“ok”)},而不要去使用 if(a) 因为如果 a 不存在(未声明)则会出错,对于 Array,Null 等特殊对象使用 typeof 一律返回 object,这正是 typeof 的局限性

    Q3:判断NaN:
    var tmp = 0/0;
    if(isNaN(tmp)){
    alert(“NaN”);
    }
    展开全文
  • Unix文件系统文件类型可以是以下之一: 普通文件 目录 符号链接 面向块设备文件(block-oriented device file) 面向字符设备文件(character-oriented device file) ...参考文献: 1. 《深入理解linux内核

    Unix文件系统的文件类型可以是以下之一:

    • 普通文件
    • 目录
    • 符号链接
    • 面向块的设备文件(block-oriented device file)
    • 面向字符的设备文件(character-oriented device file)
    • 管道(pipe)和命名管道(named pipe)(也叫FIFO)
    • 套接字(scoket)

    前三种文件类型是所有Unix文件系统的基本类型。
    设备文件与I/O设备以及集成到内核中的驱动程序相关。
    管道和套接字是用于进程间通信的特殊文件。

    参考文献:
    1. 《深入理解linux内核(第三版)》
    
    展开全文
  • JavaScript有哪些数据类型和常用方法

    千次阅读 2019-01-19 22:58:42
    这里是修真院前端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见...【 JavaScript有哪些数据类型和常用方法】 1.背景介绍: JavaScript:是脚本语言。是一种轻量级编程语言。它是可插入HTML页面编程代...
  • 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解web知识/技能,本篇分享是: 【JS有哪些数据类型和常用方法?】 大家好,我是IT修真院...
  • 文章目录一、修饰符是什么二、修饰符作用表单修饰符事件修饰符鼠标按钮修饰符键盘修饰符v-bind修饰符三、应用场景参考文献 一、修饰符是什么 在程序世界里,修饰符是用于限定类型以及类型成员声明一种符号 ...
  • VIVADO HLS函数层面优化参考文献项目简述数据类型对函数实现inline操作函数Allocation操作函数dataflow操作总结 参考文献 [1]、laurenFPGA(微信公众号) 项目简述 这篇文章简单从函数层面描述HLS约束方法...
  • SQL Server备份

    2014-05-04 12:03:00
    SQL Server备份 ...“恢复模式”是一种数据库属性,它控制如何记录事务,事务日志是否需要(以及允许)备份,以及可以使用哪些类型的还原操作。三种恢复模式:简单恢复模式、完...
  • js函数中参数

    2019-05-11 19:39:30
    这里是修真院web小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多...今天给大家分享一下,修真院官网task任务12,深度思考中知识点——JS有哪些数据类型...
  • 大家好,我叫谢伟,是一名程序员。 近期会持续更新内置库学习内容,主要的参考文献是:godoc, 和源码 日常编写代码过程中,字符串和数值型、布尔类型之间转换算是很频繁了。...有哪些基本数据类型 自...
  • 集合类有哪些,简单操作有什么 可参考文献 MIT 6.031:01、08 CMU 17-214:Oct.01 JAVA编程思想:第一到六章,第十一章 一、数据类型 Java中有两种数据类型,基本数据类型,面向对象数据类型 变量:数据类型
  • 数据仓库十三章电子书籍 PDF 格式 本书论述在设计和建造数据仓库中涉及所有主要问题,论述分析型环境(决策支持系统环境)以及在这种环境中数据构造。主要内容包括数据仓库设计与建造步骤,传统系统到...参考文献 ...
  • 你必须知道495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    5.17 说真,真机器用非零空指针吗,或者不同类型用不同表示? 地址0上到底什么? 5.18 运行时整数值0转换为指针以后一定是空指针吗? 5.19 如何访问位于机器地址0处中断向量?如果我将指针值设为0...
  • 5.17 说真,真机器用非零空指针吗,或者不同类型用不同表示? 地址0上到底什么? 5.18 运行时整数值0转换为指针以后一定是空指针吗? 5.19 如何访问位于机器地址0处中断向量?如果我将指针值设为0,...
  •  5.17 说真,真机器用非零空指针吗,或者不同类型用不同表示?  地址0上到底什么?  5.18 运行时整数值0转换为指针以后一定是空指针吗?  5.19 如何访问位于机器地址0处中断向量?如果我将指针值设...
  • 《你必须知道495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    内容简介 《你必须知道495个C语言问题》以问答...5.17 说真,真机器用非零空指针吗,或者不同类型用不同表示? 61 地址0 上到底什么? 61 5.18 运行时整数值0转换为指针以后一定是空指针吗? 61 5.19...
  • 中文名: 你必须知道495个C语言问题 高清PDF中文版 原名: C Programming FAQs 作者: (美)萨米特. ...5.17 说真,真机器用非零空指针吗,或者不同类型用不同表示? 地址0上到底什么? 5.18 运行时...
  • 温伯格通过他幽默和坦诚语言在书中阐述了不同类型的领导行为,分析了那些阻止有效领导或排斥他人领导不利因素,并指出了能够把事情做得更好行为因讲解基本原理过程中所举逸闻趣事、类比与比喻令人印象深刻...

空空如也

空空如也

1 2 3 4 5
收藏数 82
精华内容 32
关键字:

参考文献的类型有哪些