1. js数据类型有哪些?

  • 基本(值)类型

Number ---- 任意数值

String ---- 任意字符串

Boolean ---- true/false

undefined ---- undefined

null -------- null

  • 对象(引用)类型

Object

Array

Function

2. 判断数据类型的方法?

typeof

不能检测 null object array 的区别

instanceof

能检测 object array function 的区别

3. 谈谈内存

内存条 ---- 通电后产生的存储空间(临时的)

js 引擎对内存是自动分配

需要使用时分配

不需要使用时自动释放

执行完函数也会释放产生的内存

内存空间的分类

  • 栈空间

全局变量 和 局部变量

变量的基本类型值 和 地址值

  • 堆空间

对象数据

4. 谈谈对象

实体的抽象表达,组成有:

属性名 : 字符串(标识)

属性值 : 任意类型

一般对象 :  属性值不是 function  描述对象的状态

方法对象 :  属性值为function的属性  描述对象的行为

特别的对象 :

数组 :  属性名是 0, 1, 2, 3 之类的索引

函数 :  可以执行的

操作内部属性(方法) :

xxx.属性名          /          xxx['属性名'] ---- 属性名有特殊字符 / 属性名是一个变量

5. 谈谈函数

用来实现特定功能的, n 条语句的封装体

只有函数类型的数据是可以执行的, 其它的都不可以

提高复用性, 便于阅读交流

函数也是对象

instanceof Object === true

函数有属性: prototype

函数有方法: call()/apply()

可以添加新的属性/方法

一般函数 : 直接调用     window

构造函数 : 通过new调用  实例对象

方法: 通过函数对象 call / apply 调用  传入的第一个参数对象

通过对象.调用内部的属性/方法    指向调用的对象

函数里有一个或多个值不能确定,应该由调用者确定,声明形参

return 外界需要一个值通过函数处理后返回

IIFE (Immediately Invoked Function Expression) 立即调用函数表达式 ---- (function(){ //实现代码    })();

什么函数才是回调函数 ?

你定义的, 但是你没有调用, 但它最终(在一定条件下或某个时刻)执行了

dom事件回调函数

定时器回调函数

ajax请求回调函数

生命周期回调函数

1. js数据类型_对象_函数_内存的更多相关文章

  1. 2.9高级变量类型操作(列表 * 元组 * 字典 * 字符串)_内置函数_切片_运算符_for循环

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

  2. QT+信号和槽函数_自定义槽函数_一个信号对应多个槽函数

    以下的代码里面有自定义槽函数的内容,同时也有信号实现的函数: #ifndef MAINWIDGET_H #define MAINWIDGET_H #include <QWidget> #i ...

  3. 零基础逆向工程29_Win32_03_ESP寻址_定位回调函数_子窗口_消息处理函数

    1 Win32应用程序入口识别 思路:根据WinMain的四个参数,由调用顺序,知道最后压栈的是hInstance句柄(也就是WinMain函数的第一个参数,其值等于ImageBase),根据反汇编, ...

  4. [SDOI2008]沙拉公主的困惑 线性筛_欧拉函数_逆元_快速幂

    Code: #include<cstdio> using namespace std; typedef long long ll; const int maxn=10000000+1; l ...

  5. JavaScript基础&实战(4)js中的对象、函数、全局作用域和局部作用域

    文章目录 1.对象的简介 2.对象的基本操作 2.1 代码 2.2 测试结果 3.属性和属性值 3.1 代码 3.2 测试结果 4.对象的方法 4.1 代码 4.2 测试结果 5.对象字面量 5.1 ...

  6. JS - 数据类型的值拷贝函数(深拷贝)

    function mottoClone (obj) { if (obj === null || typeof obj !== 'object') return obj; if (obj instanc ...

  7. 易语言关于使用CURL,网页_访问,网页_访问S,网页_访问_对象,鱼刺(winHttpW)发送Get性能测试

    易语言关于使用 CURL,网页_访问,网页_访问S,网页_访问_对象,鱼刺(winHttpW)发送Get性能测试 测试模块情况: |-精易模块5.8  |-鱼刺类Http  |-libCURL +++ ...

  8. underscore.js源码解析【'_'对象定义及内部函数】

    (function() { // Baseline setup // -------------- // Establish the root object, `window` (`self`) in ...

  9. (52)Wangdao.com第七天_字面量/变量_标识符_数据类型_数据的存储

    JavaScript 字面量 和 变量 字面量:就是那些不可变的值,如1,2,100,2000,Infinity,NaN 变量: 变量,代表的当前随机分配的内存地址. 变量的值,是可变的,可以用来保存 ...

随机推荐

  1. wxpython多线程通信的应用-实现边录音边绘制音谱图

    #!bin/bash/python # -*- coding=utf-8 -*- from __future__ import division import threading import wx ...

  2. 第六节:WebApi的部署方式(自托管)

    一. 简单说明 开篇就介绍过WebApi和MVC相比,其中优势之一就是WebApi可以不依赖于IIS部署,可以自托管,当然这里指的是 .Net FrameWork 下的 WebApi 和 MVC 相比 ...

  3. LINUX常用操作快捷方式

    1. tab  命令补全 这个按键地球人都知道了! 2. Esc+ . 补全最后一次键入的字符 3.Ctrl + a 跳到命令开头 4.Ctrl+e 跳到命令结尾 5 Ctrl+ u 光标处到命令行开 ...

  4. 拖动DIV

    链接:https://www.cnblogs.com/joyco773/p/6519668.html   移动端:div在手机页面上随意拖动   1 <!doctype html> 2 & ...

  5. 入门嵌入式选择2440?树莓派?STM32?4412开发板?

    如果了解一下当前IT和物联网发展的形势,就会发现Android工程师越来越受欢迎,相比之下单纯的Linux工程师却逊色不少,当然,Android系统的内核也是Linux的,Linux和Android作 ...

  6. 基于vue cli 3.0创建前端项目并安装cube-ui

    前提条件: 安装node.js. 国内的开发者最好先配置淘宝镜像. 之后用cnpm来代替npm命令. 项目创建过程: 打开cmd,输入命令进入目标工作空间,以本机项目为例: cd /d d: cd D ...

  7. List总结

    List是接口,不能直接new,需要使用它的实现类 所有已知实现类:AbstractList, AbstractSequentialList, ArrayList, AttributeList, Co ...

  8. 第三章Android移植平台工具介绍

    第三章Android移植平台工具介绍 进行 Android 移植的学习并不一定需要一款 Android 手机,但必须要有一款主流的开发板,开发板是用来进行嵌入式系统开发的电路板,包括中央处理器.存储器 ...

  9. 新闻API接口

    最近很多大学生为了完成作业,或者刚开始接触android的问我要新闻APP的源码,其实就是个很小的demo,以前自己也是学着别人敲得的代码,现在自己整理了一份体积很小,代码注释非常详细的新闻APP.提 ...

  10. powerdesigner添加mysql的字符集支持

    一般建模可能都会用到:powerdesigner 但是,在建表的时候,我一直没有找到: DEFAULT CHARACTER SET COLLATE 两个选项.因此,想了个方法,点击:工具栏->d ...