一,声明对象 var obj1 = {}; var obj2 = {name:'kk',age:18,fun:function{          // name,age,fun为对象的属性,只是属性值不同 console.log(123); return 1; }}; console.log(obj2.fun)     //  获取的是对象属性,为 函数体 console.log(obj2.fun())   // 执行函数   —————————————————————————————————…
[JS学习]var let const声明变量的异同点 前言: 本博客系列为学习后盾人js教程过程中的记录与产出,如果对你有帮助,欢迎关注,点赞,分享.不足之处也欢迎指正,作者会积极思考与改正. 总述 js中有三种声明变量的方法:var,let,const.他们各自有各自的有特点. 声明格式 声明 变量提升 作用域 是否存在于windows对象中 var a="abc"; 变量 是 全局或者函数内部 是 let b="abc"; 变量 否 块区域以及向下兼容或者函数…
找调用者 1.如果有this,就先看this在哪个函数中,就是离this最近的function,没有就是window 2.找到函数后,辨别哪个是调用者 例1: 点击查看代码 function fn(){ consolo.log(this) } fn() 打印: Window {window: Window, self: Window, document: document, name: '', location: Location, -} 表明调用者不是fn(),fn()只是代表了这个函数,真正…
一.什么是变量提升?var变量提升的底层原理是什么? 变量提升的定义:所有变量的声明语句都会被提升到代码头部,这就是变量提升. 原理:引擎在读取js代码的过程中,分为两步,专业来说代码运行是分为预处理和执行两个阶段. ①先解析代码,获取所有被声明的变量:   ②然后再执行. 记住这下面这两句话,你就可以再任何情况下从容面对任何变量提升的问题. 1.变量提升只会提升变量名的声明,而不会提升变量的赋值初始化. 2.函数提升的优先级大于变量提升的优先级,即函数提升在变量提升之上. 例如: consol…
考查的技术点:  1). 变量提升 2). 函数提升  3). 预处理  4). 调用顺序 var c = 1; function c(c) { console.log(c); var c = 3; } c(2); 运行结果: 看到这结果有没有大吃一惊? 我们现在来分析下原因. 这里我们先来了解下“预处理”,那什么是预处理呢?js语言本身具有预处理机制,js引擎在预处理期对所有声明的变量和函数进行处理,就是先把变量进行声明并读到内存里.也就是收集用var声明的变量信息和函数声明信息 还有一点是预…
### 只对等号左边的进行变量提升 > =:赋值,左边是变量,右边都应该是值 ```javascript //之前 i%2 === 0?item.className = 'c1':item.className='c2'; //现在 item.className = i%2===0?'c1':'c2'; ``` ```javascript //匿名函数:函数表达式(把函数当做一个值赋值给变量或者其它内容) oDiv.onclick = function(){ } //等同于oDiv.onclick…
Math对象与JavaScript其他对象不同,因为用户不能生成所使用对象的副本,相反脚本汇集了简单Math对象的属性和方法.Math对象实际上存在于每个窗口和框架中,但是对脚本没有影响,程序员把这种固定对象叫做静态对象.Math对象(开头是一个大写M)是这些属性和方法引用的一部分,Math对象的属性通常是常数. Math函数与属性使用语法 Math.方法名(参数1,参数2,...);Math.属性; 说明Math函数可以没有参数,比如Math.random()函数,或有多个参数,比如Math.…
// 1.工厂方式创建对象:面向对象中的封装函数(内置对象) 简单来说就是封装后的代码,简单的工厂模式是很好理解的,关于它的作用,就是利用面向对象的方法,把一些对象封装,使一些占用空间多的,重复的代码封装起来.实现方法非常简单,也就是在函数内创建一个对象,给对象赋予属性以及方法再将对象返回即可. function createPerson(name){ var obj=new Object();//1.原料 //2.加工 obj.name=name; obj.showName=function(…
IE:document.selection FireFox:window.getSelection() document.selection只有IE支持,window.getSelection()也只有FireFox和   Safari支持,都不是标准语法. selection   对象       --------------------------------------------------------------------------------       代表了当前激活选中区,即…
1.有时候需要把对象中的字段属性打印出来,下面用JS实现输出对象: function writeObj(obj) { var description = ""; for (var i in obj) { var property = obj[i]; description += i + " = " + property + "\n"; } alert(description); } 2.结果对象是object而无法查看该对象里面的内容,用下面的函…