js知识简单归纳

js简单的归纳

基本类型

number,string,boolean,null,undefined

组合类型

一种对象类型: object
             数组
             函数
             对象
             正则

关于函数

    作用域
    闭包
    构造函数
    原型链

关于对象

    类
    类的继承
    实例方法
    静态方法
    私有方法

运算符

  • 算术
  • 逻辑
  • 关系

语句

  循环分支语句

JS中声明变量的几种方式

    a,b参数变量 如function fn(a,b){}
    p,q是var定义的
    m:函数声明:FD

他们的区别

     他们都会变量上浮。(variable hoist);
     除了函数声明外,其他类型的变量,只是定义上浮了。

执行上下文

     ec(执行上下文):
        可以看做一个对象{}的格式(调试里面的scope),里面存储着函数里面定义的所有变量)

垃圾回收器

    gc:垃圾回收器
        系统会隔一段时间,或者当内存占用过大的时候,去遍历一下所有的变量。

变量清除的方式

    如果发现,没有其他变量引用它,就把他清空,释放内存。
    (有两种方案决定变量的回收:一种是: 引用计数,一种是: 函数内部的函数或变量被依赖)

闭包:

  • 自由变量:函数里面引用的外面定义的变量,叫自由变量。
  • 闭包的表面理解:当一个函数执行,返回一个函数,这个函数还可以引用这个函数内部的变量。这种情形叫闭包。
  • 深层理解:当函数执行完毕,他的ec被推出调用堆栈。如果有其他变量引用它,他不会被gc回收。所以这造就了闭包。
时间: 2025-01-31 06:47:46

js知识简单归纳的相关文章

iOS开发——网络开发OC篇&OC与JS交互简单案例

OC与JS交互简单案例 网页开发中三个重要的知识,这里就不详细介绍了! Html:页面代码 Css:样式 javascript:响应 先来看一段html的简单代码,里面涉及了上面的三个部分(很简单) 1 <html> 2 <!--描述网页信息--> 3 <head> 4 <meta charset="UTF-8"/> 5 <title>hello world</title> 6 <script> 7 f

JS中简单的this学习

我在学习JS初期,在使用this的时候经常出现问题,当然就是在现在,也有一些场景不能很好的明白this到底指代的是什么?看下面一个例子: ? 1 2 3 4 5 6 7 8 9 10 var x = 10;    var foo = {        x: 20,        bar: function() {            alert(this.x);        }    }    var bar = foo.bar;    foo.bar();    //20    bar()

JS实现简单的图片轮转

+(UIImage*)createImageFromView:(UIView*)view { //obtain scale CGFloat scale = [UIScreen mainScreen].scale; 开始绘图,下面方法,第一个参数表示区域大小.第二个参数表示是否是非透明的.如果需要显示半透明效果,需要传NO,否则传YES.第三个参数就是屏幕密度了 UIGraphicsBeginImageContextWithOptions(CGSizeMake(view.frame.size.wi

JS的简单操作和表单以及事件

HTML:主要用于往页面上放置所需要的控件. CSS:主要用来控制页面以及上面控件的样式. JS:主要用来控制页面上的特效以及数据交互. JS也分为顺序,条件(IF()... ELSE()),循环(FOR())三种语句,与C#基本一致. JS定义变量统一用var,定义数组不固定长度和类型,类似C#中的集合. JS的简单操作: DOM操作: 一.window: 1.window.onload 页面打开完再执行后面的操作 2.window.open(1,2,3,4) - 打开新页面, 1 - 打开页

node.js搭建简单的websocket

1.首先在官网http://www.nodejs.org/下载NODE.JS 2.打开命令行CMD,进入NODEJS\node_modules\的目录,输入npm install socket.io  安装socket.io模块.别急着关掉此CMD窗口,后面有用 3.搭建服务端代码server.js 1 var http = require('http'); 2 var io = require('socket.io'); 3 var cisserver = http.createServer(

就linux三剑客简单归纳

就linux三剑客简单归纳: 1:awk 习题1:用 awk 中查看服务器连接状态并汇总 netstat -an|awk '/^tcp/{++s[$NF]}END{for(a in s)print a,s[a]}' ESTABLISHED 1 LISTEN 20 习题2:统计 web 日志访问流量,要求输出访问次数,请求页面或图片,每个请求的总大小, 总访问流量的大小汇总 awk '{a[$7]+=$10;++b[$7];total+=$10}END{for(x in a)print b[x],

JS实现简单的运行代码 &amp; 侧边广告

/* JS实现简单的运行代码功能 */<!doctype html> <html> <head> <meta charset="utf-8" /> <script> window.onload = function() { var oTxt = document.getElementById('codeText'); var oBtn = document.getElementById('btn'); oBtn.onclick

C#基础知识简单梳理

C#基础知识简单梳理 本文是转发博友的总结,方便自己以后随时温习: 1.值类型和引用类型 1.1堆和栈 简单的说值类型存放在堆栈上面,引用类型的数据存放在托管堆上面(它的引用地址却存放在堆栈上面)! 栈:它是一个内存数组,是一个先进后出的数据结构! 栈的特征:数据只能从栈顶进,从栈顶出! 堆:它是一个内存区域,可以分配大块区域存储某类型的数据,与栈不同的是它里面的数据可以任意排序和移除! 下面是园子的一张图,贴上来供大家参考啊! 问     题 值  类  型 引 用 类 型 这个类型分配在哪里

Sea.js 提供简单、极致的模块化开发体验

http://seajs.org/docs/#intro 为什么使用 Sea.js ? Sea.js 追求简单.自然的代码书写和组织方式,具有以下核心特性: 简单友好的模块定义规范:Sea.js 遵循 CMD 规范,可以像 Node.js 一般书写模块代码. 自然直观的代码组织方式:依赖的自动加载.配置的简洁清晰,可以让我们更多地享受编码的乐趣. Sea.js 还提供常用插件,非常有助于开发调试和性能优化,并具有丰富的可扩展接口. 兼容性 Sea.js 具备完善的测试用例,兼容所有主流浏览器: