首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JS高级部分

    JS高级部分 判断 对象引用类型 undefined与null的探究 区分变量类型和数据类型 数据,变量和内存 js的函数参数传递为值传递 JS引擎如何管理内存 JS对象 什么时候需要使用['属性名'...+原型的组合模式 继承 原型链的继承 借用构造函数实现伪继承 组合继承 JS是单线程执行的 代码分类和JS代码执行的基本流程 事件循环模型 Web Worker实现多线程 总结 判断 instanceof...一开始浏览器执行全局的代码时,首先创建全局的执行上下文,压入执行栈的顶部。 每当进入一个函数的执行就会创建函数的执行上下文, 并且把它压入执行栈的顶部。...模块 JS模块定义方式一: 把上面这段代码写到一个js文件中,在html页面加载这个js文件的时候,js文件中的代码会执行,然后调用返回得到返回值执行即可 JS模块定义方式二:...是单线程执行的 代码分类和JS代码执行的基本流程 ---- 事件循环模型 ---- Web Worker实现多线程 Web Worker详解 ---- 总结

    98731

    JS实现简易的计算器

    JS可以做的事多了,那就用来实现一个计算器吧 看看手机中的计算器,分为普通计算器和科学计算器 ? ?...二、实现过程 第一步当然是搭建计算器的页面结构,不是科学计算器,只提供了基本的运算功能,但也能即时地进行运算,显示出完整的中缀表达式,运算后保存上一条运算记录。...JS逻辑 这部分就是重点了,一步步来说 首先是对计算器的监听吧,也就是这个表格,可以使用事件委托的方式,在父级节点上监听处理 // 绑定事件 bindEvent: function...(或者说是数据变化) 在这个简单的计算器中,就有数字(0-9)、运算符(+ - * /)、操作(清除 删除)、预运算(百分号 平方)、小数点、即时运算等数据及操作 如果是科学计算器那就更复杂了,所以理清如何控制这些东西很关键...,为简化代码,可以封装成一个方法,在相应的位置调用即可 // 即时得进行运算 calculate: function(type) { this.infix2Suffix

    11.1K10

    js高级技巧_JavaScript高级程序

    下述内容主要讲述了《JavaScript高级程序设计(第3版)》第22章关于“高级技巧”。 一、高级函数 函数是第一等公民,所有函数都是对象。 1....总结 三、高级定时器 JavaScript运行于单线程的环境中,而定时器仅仅只是计划代码在未来的某个时间执行。执行时机不能保证。 定时器对队列的工作方式是,当特定时间过去后将代码插入。...注意,给队列添加代码并不意味着对它立即执行,而是能表示它会尽快执行。设定一个150ms后执行的定时器不代表了150ms代码就立刻执行,它表示代码会在150ms后被加入到队列中。...谨记:定时器指定的时间间隔表示何时将定时器的代码添加到队列,而不是何时实际执行代码。 1....结果是,在这个时间点上的定时器代码不会被添加到队列中。结果在5ms处添加的定时器代码结束后,405ms处添加的定时器代码就立即执行。

    3.9K21

    js事件高级:拖拽

    什么是拖拽 拖拽就是在某一个对象上,当鼠标按下去之后,拖着对象走,松开鼠标时,对象位置变成拖拽的位置 简单拖拽 1.实现简单的拖拽功能 2.当拖拽对象到网页边缘时,会停留在边缘 实现代码 实现效果 完美拖拽_吸附 1.在实现简单拖拽的基础上给拖拽对象一个区域范围 2.拖拽吸附:在靠近父级边缘时自动吸附在父级边缘 实现代码... 实现效果 带框拖拽 带框拖拽是拖拽的另一种形式,拖动时,跟着移动的是对象的虚线框,虚线框就是对象将要拖移到达的位置 实现代码...body> 实现效果 自定义滚动条 自定义滚动条是利用拖拽的功能实现滚动条的功能 下面的案例实现了 1.利用自定义滚动条改变div的大小 2.利用自定义滚动条改变div的透明度 实现代码

    9.4K20

    JS高级——函数进阶

    ES5的严格模式是采用具体限制性JavaScript变体的一种方式,即在严格的条件下运行JS代码。 严格模式在IE以上的版本的浏览器中才会被支持,旧版本浏览器中会被忽略。...消除代码运行的一些不安全之处,保证代码运行的安全。 提高编译器效率,增加运行速度。 禁用了在ECMAScript的未来版本中可能会定义的一些语法,为未来版本的JavaScript做好铺垫。...//此时只是给fn函数开启严格模式 function fn() { 'use strict'; //下面的代码按照严格模式执行...还是指向window 事件、对象还是指向调用者 函数变化 函数不能有重名的参数 函数必须声明在顶层,新版本的JavaScript会引入“块级作用域”(ES6中已引入),为了与新版本接轨,不允许在非函数的代码块内声明函数...——JavaScript高级程序设计 简单理解就是,一个作用域可以访问另外一个函数内部的局部变量。

    1.8K20

    JS高级」ES6

    变量提升特性增加了程序运行时的不可预测性; 语法过于松散,实现相同的功能,不同的人可能会写出不同的代码。...在一个大括号中 使用let关键字声明的变量才具有块级作用域 var关键字是不具备这个特点的 防止循环变量变成全局变量 使用let关键字声明的变量没有变量提升 使用let关键字声明的变量具有暂时性死区特性 代码...,不存在变量提升 使用const声明的是常量,在后面出现的代码中不能再修改该常量的值 区别 解构赋值(★★★) ES6中允许从数组中提取值,按照对应位置,对变量赋值,对象也可以实现解构 数组解构...() => {} // ():代表是函数; =>:必须要的符号,指向哪一个代码块;{}:函数体 const fn = () => {} //代表把一个函数赋值给fn fn(); // 调用函数 函数体中只有一句代码...= (num1, num2) => num1 + num2; // 在箭头函数中如果函数体中只有一句代码,并且代码的执行结果就是函数的返回值函数体大括号可以省略,等于下面这样定义 // const

    1.7K10

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券