这篇博客用于记录平时学习中遇到的零散的知识点,它们不适于单独写一篇长博客,在这里记录下来一是为了增强记忆,二是为了方便复习总结。这篇博客会持续更新。。。

一、JS数据类型及类型判断

1. JS数据类型

JS共有6种数据类型,其中5种基本数据类型,分别是:Undefined, Null, String, Number, Boolean, 还有一种复杂数据类型:Object。

JS中对象被称为引用类型的值,它是引用类型的一个实例。引用类型是一种数据结构,有时也被称为对象定义,它们描述的是一类对象所具有的属性和方法。 JS中大多数引用类型都是Object类型的实例,除此之外,JS的引用类型还包括:Array、Date、RegExp、Function,以及基本包装类型:Boolean、Number、String,当然还可以自定义类型。

2. 类型判断

JS中可以用typeof操作符来判断变量的数据类型,它会返回以下6种字符串:

“undefiined”----- 如果这个值未定义;

“boolean”----- 如果这个值是布尔值;

“string”----- 如果这个值是字符串;

“number”-----如果这个值是数字;

“object”----- 如果这个值是对象或null;

“function”----- 如果这个值是函数。

对于引用类型的值,我们想要知道它具体是什么类型的对象,此时就要用到另一个操作符:instanceof。它的语法如下:

result = variable instanceof constructor

例如: alert(person instanceof Array);    //变量person是数组类型吗?是则返回true,不是则返回false。

二、apply(), call()函数

用于改变函数作用域。区别:第二个参数,apply传入参数数组:arguments或[arg1, arg2, arg3….],而call把每个参数独立起来:call(this, arg1, arg2, arg3….)

当第一个参数传入null时,表示的全局作用域。

三、向setTimeout() setInterval()中调用的函数传参数问题

如:function a(arg1, arg2) {…};

现要间歇调用函数a。

如果这样写:setTimeout(a(arg1, arg2), 10000); 是有问题的。因为setTimeout()的第一个参数是函数名,一旦函数名后加了括号,js默认这是函数执行的结果,所以会执行错误,正确的写法是这样:

setTimeout(function() {

a(arg1, arg2);

});

四、element.style.left 和 element.offsetLeft 的区别

如果element的父节点有定位(相对或绝对),则这两个值读出来是相同,不同的是offsetLeft属性只读,而left属性可读可写,并且offsetLeft的值是number类型,而left属性是字符串类型,即有单位。

五、计算两个日期之间的时间差

先根据这两个日期建立两个Date对象,然后用Date对象的getTime()函数相减,即可得到两个日期间隔的毫秒,然后通过数学计算可以转换成天、小时、分钟、秒等。

六、 “==”符号的隐式转换

JS中”==”号是等号操作符,“===”是全等操作符。它们的区别是前者在比较之前要进行类型的隐式转换,后者直接比较。隐式转换的顺序是:

1. 如果比较双方有布尔值,则把布尔值转换成数字比较,false转换成0,true转换成1。

2.如果比较双方一个是字符串,另一个是数字,则把字符串转换成数字比较。

3.如果比较双方一个是对象,另一个不是,则对对象用valueof()方法,用得到的基本类型值按照前面两条比较。

4.如果比较双方全是对象,则比较它们是不是指向同一个对象。

5.null和undefined不进行类型转换,但是它们两个比较返回true

6.如果比较双方有NaN,则结果为false。

零散知识点总结(持续更新……)的更多相关文章

  1. C#、Java中的一些小知识点总结(持续更新......)

    前言:在项目中,有时候一些小的知识,总是容易让人忽略,但是这些功能加在项目中往往十分的有用,因此笔者在这里总结项目中遇到的一些实用的小知识点,以备用,并持续更新...... 1.禁用DataGridV ...

  2. iOS 小知识点(持续更新)

    1.如何通过代码设置Button  title的字体大小 设置Button.titleLabel.font = [UIFont systemFontOfSize:<#(CGFloat)#> ...

  3. Android 小知识点(持续更新)

    ①文件保存默认是private权限. ②在layout的xml文件中onClick的方法中包含一个View类型的参数 ③获取项目下files路径:Context.getFilesDir(); ④获取项 ...

  4. C# 知识点记录(持续更新中)

    从看C#入门经典开始系统的学习C#,本文主要记录学习过程中的一些知识点,也是我博客生涯的开始,比较重要成体系的部分会单重新写文章整理归纳. 1.一字不变的字符串 @字符 使转义序列不被处理,按照原样输 ...

  5. js中一些小知识点总结--持续更新

    以下知识点来自于编写高质量代码-改善JavaScript程序的188个建议,只用于自我知识的补充. 一.NaN 1.NaN是一个特殊的数量值,不表示一个数字,尽管下面的代码仍然是返回类型为number ...

  6. PMP--综合考试知识点,持续更新中。。。

    1]盈亏平衡点=固定成本/(销售价格-可变成本). 2]项目管理(Project Management): 就是把各种知识.技能.手段和技术应用于项目活动之中,以达到项目的要求. 3]有效的管理要求项 ...

  7. Android 基础知识点(持续更新)

    一.AndroidManifest 每一个安卓工程都有AndroidManifest.xml的配置文件,在所有项目中该名称都不会变.该文件是Android工程的一个全局配置文件,所有在Android中 ...

  8. MYSQL操作的一些知识点,持续更新中····

    基本概念——库 1.数据库服务器:库——>表——>行/列 2.cmd下链接: mysql – uroot –proot 3.创建库:create database  php; 3.看数据库 ...

  9. C++知识点整理——持续更新

    virtual是C++的一个关键字,virtual修饰的函数可以被子类重写.   用法:在返回值类型的前面添加关键字即可. override是C++的保留字(注意不是关键字),表示当前函数重写了基类的 ...

随机推荐

  1. oracle常用函数总结(二)

    之前也有写过“oracle常用函数总结(一)”,为了尽量找全常见oracle函数,笔者特意查找了相关资料来作为参考,下边给大家罗列出来,部分和之前有重复的,希望能帮到大家! 列举了31个函数和1个分组 ...

  2. Hash表从了解到深入(浅谈)

    · Hasn表,将一个数据进行Value化,再进行一个映射关系到Key直接进行访问的一个数据结构,这样可以通过直接的计算进行数据的访问和插入.关于Hash表的基本概念这里就不一一叙述,可以通过百度了解 ...

  3. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 16—Recommender Systems 推荐系统

    Lecture 16 Recommender Systems 推荐系统 16.1 问题形式化 Problem Formulation 在机器学习领域,对于一些问题存在一些算法, 能试图自动地替你学习到 ...

  4. ubuntu linux常用指令(1)

    序号 命令 说明 1 sudo su 从普通用户切换到root用户 2 su user 从root用户切换到普通用户 3 ls 列出当前目录的文件和目录,但是不包括隐藏文件和目录 4 ls -a 列出 ...

  5. Core Data 入门

    1. 基本概念 Core Data是一种被称为对象关系映射(Object-Relational Mapping,ORM)技术的实现. Core Data 架构图如下: 五个概念: (1)数据模型(Da ...

  6. SpringBoot整合ActiveMQ快速入门

    Spring Boot 具有如下特性: 为基于 Spring 的开发提供更快的入门体验 开箱即用,没有代码生成,也无需 XML 配置.同时也可以修改默认值来满足特定的需求. 提供了一些大型项目中常见的 ...

  7. 【LA11248 训练指南】网络扩容【最大流】

    题意: 给定一个有向网络,每条边均有一个容量.问是否存在一个从点1到点N,流量为C的流.如果不存在,是否可以恰好修改一条弧的容量,使得存在这样的流? 分析: 先跑一遍最大流,如果最大流大于等于C,则输 ...

  8. Sql_server_2014创建数据库自动备份

    Sql_server_2014创建数据库自动备份 程序员的基础教程:菜鸟程序员

  9. Solidity智能合约调用智能合约

    来源:https://medium.com/@blockchain101/calling-the-function-of-another-contract-in-solidity-f9edfa921f ...

  10. strlen头文件

    #include <string.h> 函数strlen strsep 等等