随笔分类 - javascript
摘要:location 属性 href protocol host hostname port pathname search hash 方法 assign replace reload URLSearchParams // new URLSearchParams var userSearch = new
阅读全文
摘要:this指向分析 指向 直接调用,指向window 通过对象调用,指向对象 call/apply 总结:跟位置无关,跟调用方式有关。只有在执行的时候this指向才会被确定 绑定规则: 默认绑定 // 独立函数调用,this指向window function foo(){ console.log(th
阅读全文
摘要:原始类型调用方法 原始类型是简单的值,默认不能调用属性和方法,javascript为了可以使其可以获取属性和调用方法,对其封装了对应的包装类型。 String Number Boolean Symbol BigInt 包装类型的使用过程 根据原始值,创建一个原始类型对应的包装类型对象 调用对应的属性
阅读全文
摘要:DOM和BOM DOM对象是文档(document)对象,页面中每一个元素(Element)抽象为一个个对象, BOM是浏览器对象, navigator、location、history等对象 document对象 Document节点表示的整个载入的网页,它的实例是全局的document对象,它是
阅读全文
摘要:斐波那契数列 // 数列:1 1 2 3 5 8... function fibonacci(n) { if (n 1 || n 2) { return 1 } return fibonacci(n - 1) + fibonacci(n - 2) } console.log(fibonacci(6)
阅读全文
摘要:认识编程语言 计算机语言 人与计算机之间通讯的语言,比编程语言更广泛,如HTML是标记语言,也是计算机语言,但不是编程语言 编程语言 用来定义计算机程序的形式语言,用来向计算机发出指令,准确定义计算机所需要使用数据的计算机语言。 数据和数据结构 指令及流程控制 引用机制和重用机制 设计哲学 编程语言
阅读全文
摘要:变量/赋值 变量: __var__ 可以重复定义/不能限制修改/函数级作用域/没有块级作用域 __let__ 变量/不能重复定义/(块级) __const__ 常量/不能重复定义/限制修改(块级) 解构赋值: 左右两边必须一样,右边得是合法的 必须定义和赋值同步完成 函数 箭头函数: ; 如果有且仅
阅读全文
摘要:location对象属性 hash 返回#后跟0或者多个字符串,没有#或者#后没有字符则返回空字符串 '#page=2' host 返回服务器名称和端口号 "www.createhy.com:8888" hostname 返回服务器名称 "www.createhy.com" href 返回完整的ur
阅读全文
摘要:间歇调用和超时调用 超时调用:window对象的setTimeout()方法,指定时间后调用: setTimeout(function(){ // 推荐 console.log(3) },1000); setTimeout('console.log(3)',1000); // 不推荐,字符串格式会影
阅读全文
摘要:函数表达式 函数声明:(函数声明提升) function person(){} 函数表达式:(必须在调用之前声明) var person = function(){} 递归函数: 一个函数通过名字调用自身 function fac (num) { // 阶乘递归 if (num <=1) { ret
阅读全文
摘要:许多OO语言中都支持两种继承: 接口继承: 只继承方法签名 实现继承: 继承实际的方法,通过原型链来让一个原型的引用类型继承另一个引用类型的属性和方法 原型链: 通过将一个构造函数的实例赋值个另一个构造函数原型的方式构成了原型链 function B(){} function A(){} B.pro
阅读全文
摘要:除了一个一个地添加原型属性,我们还可以通过对象字面量({}大括号)的形式进行创建 例如: function CreatPerson () {}; // 第一种,一个一个创建 CreatPerson.prototype.name = 'zhang'; CreatPerson.prototype.age
阅读全文
摘要:什么是原型? 每个函数都有一个prototype(原型)属性,函数的prototype指向原型对象,(函数.prototype即为原型),原型 中的属性、方法在每个实例中共享。 例如: function Person () { // 构造函数 } Person.prototype.name = '张
阅读全文
摘要:1.1、数据属性 包含一个数据值的位置,可以进行读取和写入。 四种特性:调用Object.defineProperty(对象名,属性名,{特性名:特性值(true\false)}) // 默认false [[Configurable]]:默认是true ,表示是否可以进行delete属性操作从新定义
阅读全文
摘要:Null “” NaN 0 undefined false 都会转化为false 字符串拼接: A = 100 +2 102 A = 100 + ‘2’ 1002 == 运算符: 100 == ‘100’ true 0 == ‘’ true Null == undefined true If语句:
阅读全文
摘要:1、typeof操作符: 由于ECMAScript是松散类型的,因此需要一种手段来检测给定变量的数据类型——typeof就是负责提供这个方面信息的操作符。 typeof返回值: undefined:如果值未定义; Boolean:值是布尔值; string:值是字符串; number:值是数值; o
阅读全文
摘要:ECMAScript有5中基本的数据类型:undefined null number string Boolean, 一种复杂类型:object,object本质上是一组无序的键值对组成。 按存储空间分: 引用类型:对象、数组、函数。特点是:无限制扩展属性,内存占比大、相互干预的 值类型:内存占比小
阅读全文
摘要:1、所有的引用类型(数组、函数、对象),都具有对象的特性,即可自由扩展属性(除‘null’外) 2、所有的引用类型(数组、函数、对象),都具有一个__proto__属性(隐式原型),属性值是一个普通的对象 3、所有的函数都有一个显式原型prototype属性,属性值也是一个普通的对象。 4、所有的引
阅读全文