资讯专栏INFORMATION COLUMN

js笔记内容

n7then / 2058人阅读

摘要:定义运算符用来判断一个构造函数的属性所指向的对象是否存在另外一个要检测对象的原型链上,用于引用类型。但其实,实例的来自于构造函数的。

一、关于css

样式优先级:
行内样式>id选择器样式>类选择器样式>标签选择器样式>通配符选择器的样式>继承样式>默认样式


二、关于js

关于问题:**JavaScript中的所有事物都是对象??**


从typeof和instanceof入手。

1. typeof
typeof 用以获取一个变量或者表达式的类型,用于基本类型。
typeof内容如下,需要注意的是Null对应的也是object类型,图上还缺少了一个数据,数组对应的也是object类型。
还需要注意的是,js中的变量是没有类型的,只有值才有;也就是说,语言引擎不要求变量总是持有于其初始值同类型的值。(一个变量可以现在被赋值为字符串类型值,随后又被赋值为数字类型值)。对变量执行typeof操作时,得到的结果并不是该变量的类型,而是该变量**持有的值**的类型,js中的变量没有类型。

综上所述,如果要判断是否是对象,需要先考虑null情况(===null),还有数组的情况(instanceof Array);
判断是否为数组,需要用instanceof来判断。


 2. instanceof
 定义:instanceof运算符用来判断一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的*原型链*上,用于引用类型。
 js中的基本类型的值,若是直接赋值,则不能判断(直接赋值是没有原型链的),一般是需要通过new调用构造函数才能判断,所以基本类型不建议用instanceof来判断是否为基本类型;引用类型就没有这个问题了,可以通过instanceof直接判断。
 
说到上述内容的类型,不得不添加一点有关类型的内容,js中分为基本类型和引用类型。为何要如此分呢?
基本数据类型的值是按值访问的,栈内存中包括了变量的标识符和变量的值;引用类型的值是按引用访问的,引用类型的值是保存在堆内存中的对象,栈内存中保存了变量标识符和指向堆内存中该对象的指针,堆内存中保存了对象的内容。具体内容参考 https://segmentfault.com/a/1190000006752076
以下内容是上述网址的简化版
1. 基本类型:Undefined、Null、Boolean、Number、String、Symbol (new in ES 6)
2. 引用类型:Object 类型、Array 类型、Date 类型、RegExp 类型、Function 类型 等

回到最初的问题:JavaScript中的所有事物都是对象??这句话是正确的。

这句话怎么理解呢,number、string等是数据类型,他们肯定不是对象,但是所有的语言中都有这些数据类型,是通用的,所以js也有;而在js中,数据类型是最底层的,所有的事物都是在这个之上才进行的,那就是对象了。

可能还有人说函数也是对象吗,是的,准确的说,函数实例化后是对象。可以参考这个 http://www.cnblogs.com/giggle/p/5204348.html 
简单来说,这个要从原型链的角度来解答,判断是否为对象,就是判断是否有原型链。
每个对象都有一个__proto__属性,每个函数都有一个prototype属性。但其实,实例的__proto__来自于构造函数的prototype。

流程如下:

验证如下:

历时两天的内容整理结束!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/101101.html

相关文章

  • 用 Vuex 构建一个笔记应用

    摘要:如果不熟悉,在这个教程里面,我们会通过构建一个笔记应用来学习怎么用。这个是我们要构建的笔记应用的截图你可以从下载源码,这里是的地址。每当用户点击笔记列表中的某一条时,组件会调用来分发这个会把当前选中的笔记设为。 原文:Learn Vuex by Building a Notes App,有删改。 本文假设读者熟悉 Vuex 文档 的内容。如果不熟悉,you definitely sho...

    gggggggbong 评论0 收藏0
  • webpack 实践笔记(一)--- 入门

    摘要:实践笔记入门一官网文档地址实践工程地址本篇文章可切换到分支查看源代码。简单分步实践创建一个空文件夹,进入全局安装创建文件创建执行命令这个时候项目中多了一个文件,使用标签将其引入到中在浏览器中打开文件,页面出现文字。 webpack 实践笔记入门(一) [webpack官网文档地址]:(http://webpack.github.io/docs...) [实践工程地址]: (https:...

    bergwhite 评论0 收藏0
  • 使用 Vuex + Vue.js 构建单页应用

    摘要:鉴于该篇文章阅读量大,回复的同学也挺多的,特地抽空写了一篇下的使用方法,传送门使用构建单页应用新篇华丽的分割线原文地址前言在最近学习的时候,看到国外一篇讲述了如何使用和来构建一个简单笔记的单页应用的文章。 鉴于该篇文章阅读量大,回复的同学也挺多的,特地抽空写了一篇 vue2.0 下的 vuex 使用方法,传送门:使用 Vuex + Vue.js 构建单页应用【新篇】 ---------...

    tomorrowwu 评论0 收藏0
  • 使用 Vuex + Vue.js 构建单页应用

    摘要:鉴于该篇文章阅读量大,回复的同学也挺多的,特地抽空写了一篇下的使用方法,传送门使用构建单页应用新篇华丽的分割线原文地址前言在最近学习的时候,看到国外一篇讲述了如何使用和来构建一个简单笔记的单页应用的文章。 鉴于该篇文章阅读量大,回复的同学也挺多的,特地抽空写了一篇 vue2.0 下的 vuex 使用方法,传送门:使用 Vuex + Vue.js 构建单页应用【新篇】 ---------...

    cnsworder 评论0 收藏0
  • 使用 Vuex + Vue.js 构建单页应用

    摘要:鉴于该篇文章阅读量大,回复的同学也挺多的,特地抽空写了一篇下的使用方法,传送门使用构建单页应用新篇华丽的分割线原文地址前言在最近学习的时候,看到国外一篇讲述了如何使用和来构建一个简单笔记的单页应用的文章。 鉴于该篇文章阅读量大,回复的同学也挺多的,特地抽空写了一篇 vue2.0 下的 vuex 使用方法,传送门:使用 Vuex + Vue.js 构建单页应用【新篇】 ---------...

    levius 评论0 收藏0
  • 使用 Vuex + Vue.js 构建单页应用

    摘要:鉴于该篇文章阅读量大,回复的同学也挺多的,特地抽空写了一篇下的使用方法,传送门使用构建单页应用新篇华丽的分割线原文地址前言在最近学习的时候,看到国外一篇讲述了如何使用和来构建一个简单笔记的单页应用的文章。 鉴于该篇文章阅读量大,回复的同学也挺多的,特地抽空写了一篇 vue2.0 下的 vuex 使用方法,传送门:使用 Vuex + Vue.js 构建单页应用【新篇】 ---------...

    UsherChen 评论0 收藏0

发表评论

0条评论

n7then

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<