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. Hadoop记录- Yarn Job MAX

    #!/bin/sh #yarn job status:NEW.NEW_SAVING.SUBMITTED.ACCEPTED.RUNNING.FINISHED.FAILED.KILLED nnum=$(/ ...

  2. ElasticSearch 启动时加载 Analyzer 源码分析

    ElasticSearch 启动时加载 Analyzer 源码分析 本文介绍 ElasticSearch启动时如何创建.加载Analyzer,主要的参考资料是Lucene中关于Analyzer官方文档 ...

  3. WEB内容换行

    word-wrap:break-word 单词间换行 word-break:break-all 单词内也可以换行 white-space属性指定元素内的空白怎样处理 normal 默认.空白会被浏览器 ...

  4. 你对安卓触控一体机了解多少?视野还停留在windows一体机上?

    android一体机可以根据用户的不同需求拓展各种不同的硬件外接设备和各种应用软件,环境适应能力又强,所以在诸多领域的应用都非常受欢迎,并且还在不断地开拓新市场.安卓系统触摸一体机占据绝对性优势. 1 ...

  5. 第29月第18天 mac evpp环境

    1.boost https://github.com/Orphis/boost-cmake/ 2.evpp brew install libevent brew install glog /usr/l ...

  6. 快速安装Java环境

    1.部署jdk8 jdk包地址:https://pan.baidu.com/s/1QNGpapGuex00F6HQ5pynHgtar -xzf jdk-8u60-linux-x64.tar.gz #安 ...

  7. ZH奶酪:Ubuntu 14.04安装LAMP(Linux,Apache,MySQL,PHP)

    (Linux Operating System,Apache Web Server,MySQL database,PHP) 首先,一个三行命令搞定的方法: sudo apt-get update su ...

  8. shiro执行原理

    一.架构 要学习如何使用Shiro必须先从它的架构谈起,作为一款安全框架Shiro的设计相当精妙.Shiro的应用不依赖任何容器,它也可以在JavaSE下使用.但是最常用的环境还是JavaEE.下面以 ...

  9. 【python】笔记

    texts=[[word for word in document.lower().split() if word not in stoplist] for document in documents ...

  10. theos安装详解

    1.安装 Homebrew  安装命令官方网站  https://brew.sh 2.利用