12 2019 档案

摘要:JavaScript允许为语言的基本数据类型定义方法.通过Object.prototype添加原型方法,该方法可被所有的对象,.这样的方法对函数,数组,字符串,数字,正则表达式和布尔值都适用.例如,通过Function.prototype增加方法,使该方法对所有函数可用 Function.proto 阅读全文
posted @ 2019-12-31 14:24 KIU的博客 阅读(133) 评论(0) 推荐(0)
摘要:在被调用前,JavaScript函数仅是词法意思上的机构,没有实际的价值,在预编译函数时,也仅是简单地分析函数的词法,语法结构,并根据函数标识符预定一个函数占据的内部空间,其内部结构和逻辑并没有被运行.但是,一旦函数被调用执行,其上下文环境也会随之财产生.可以说,上下文环境是函数运行期的一个动态环境 阅读全文
posted @ 2019-12-31 11:44 KIU的博客 阅读(228) 评论(0) 推荐(0)
摘要:闭包在开发中具有重要的应用价值,由于闭包具有持久性,生成的闭包不会立即被销毁,因此它会持续占用系统资源.如果大量使用闭包,将会造成系统资源紧张,甚至导致内存溢出等错误.另外,闭包在回调函数中会带来负面影响,因此在使用时应该慎重. 下面示例利用闭包来存储变量所有变化的值 function f(x){ 阅读全文
posted @ 2019-12-31 10:48 KIU的博客 阅读(189) 评论(0) 推荐(0)
摘要:闭包是指词法表示包括不必计算的变量的函数,闭包函数能够使用函数外定义的变量. 闭包结构有以喜爱盎格比较鲜明的特性: (1)封闭性 外界无法访问闭包内部的数据,如果在比包内声明变量,外界是无法访问的,除非闭包主动向外界提供访问接口. (2)持久性 对于一般函数来说,在调用完毕后,系统会自动注销函数,而 阅读全文
posted @ 2019-12-31 10:05 KIU的博客 阅读(151) 评论(0) 推荐(0)
摘要:在JavaScript中,函数就是对象,对象是"名/值"对集合,并拥有一个到原型对象的隐藏连接.对象字面量产生的对象连接到object.prototype,函数对象连接到Function.prototype,该原型对象本身连接到object.prototype.每个函数在创建时都有两个附加的隐藏属性 阅读全文
posted @ 2019-12-30 11:46 KIU的博客 阅读(138) 评论(0) 推荐(0)
摘要:调用函数更便捷的方式是使用Function对象的call和apply方法.apply和call方法在本质上没有太大的区别,只不过他们传递给函数的参数方式不同,apply是以数组形式进行参数传递,而call方法可以同时传递多个值. 如果某个函数仅能够接收多个参数列表,而现在希望把一个数组的所有元素作为 阅读全文
posted @ 2019-12-27 16:17 KIU的博客 阅读(294) 评论(0) 推荐(0)
摘要:Javascript支持Arguments机制.Arguments是一个为数组,可以通过数组下标形式获取该集合中传递给函数的参数值.例如:下面函数中,没有指定形参,但在函数体内通过Arguments对象可以获取传递给该函数的每个参数值. function f(){ for(var i = 0;i<a 阅读全文
posted @ 2019-12-25 15:28 KIU的博客 阅读(238) 评论(0) 推荐(0)
摘要:定义函数的方法包括3种:function语句,Function构造函数和函数直接量.不管用哪种方法定义函数,它们都是Function对象的实例,并将继承Function对象所有默认或自定义的方法和属性, //使用function语句编写函数 function f(x){ return x } //使 阅读全文
posted @ 2019-12-25 11:31 KIU的博客 阅读(291) 评论(0) 推荐(0)
摘要:数组下标默认为大于或等于0的整数,不过JavaScript允许数组下标可以为任意表达式甚至为任意类型数据.但是如果该数组的下标都不是为大于或等于0的整数,那么求它的长度length为0 (1) 文本下标 var a = [] a[-1] =1 console.log(a[-1]); //1 cons 阅读全文
posted @ 2019-12-25 10:06 KIU的博客 阅读(235) 评论(0) 推荐(0)
摘要:sort方法不仅按字母顺序进行排序,还可以根据其他顺序执行操作.这时就必须为方法提供一个比较函数的参数,该函数要比较两个值,然后返回一个用于说明这两个值得相对顺序的数字.比较函数应该具有两个参数a和b,其返回值如下: 如果根据自定义评判标准,a小于b,在排序后的数组中a应该出现在b之前,就返回一个小 阅读全文
posted @ 2019-12-24 17:45 KIU的博客 阅读(241) 评论(0) 推荐(0)
摘要:删除数组元素的方法有很多种,最简单就是利用length属性来截断数组,但这种方法比较笨,进能够截断尾部元素.在JS中,由于数组其实就是对象,因此可以使用delete运算符可以从数组中移除元素 var number = ['zero','one','two','three','four'] delet 阅读全文
posted @ 2019-12-24 17:09 KIU的博客 阅读(320) 评论(0) 推荐(0)
摘要:由于数组和对象的数据同源性,导致在JavaScript编程中经常会出现:在必须数组时用了对象,在必须用对象时用了数组. typeof检测数组的类型时object,没有意义,所以这里可以通过自定义一个is_array函数来你部缺陷 var is_array = function(value){ ret 阅读全文
posted @ 2019-12-24 16:44 KIU的博客 阅读(139) 评论(0) 推荐(0)
摘要:相对来说下面几种情况更适合switch结构 枚举表达式的值.这种枚举是可以期望的,平行逻辑关系的 表达式的值具有离散性,不具有线性的非连续的区间值 表达式的值是固定的,不是动态变化的 表达式的值是有限的,而不是无限的,一般来说表达式应该比较少 表达式的值一般为整数,字符串等类型数据 而if结构更适合 阅读全文
posted @ 2019-12-24 11:04 KIU的博客 阅读(360) 评论(0) 推荐(0)
摘要:与循环相似,条件表达式决定JavaScript运行流的走向.和其它语言一样,JavaScript也采用了if和switch两种条件结构.由于不同浏览器针对流程控制进行了不同的优化,两者在性能上并没有特别大的差异,主要还是根据需求形式进行分析和选择:条件数量较大的,建议选择switch结构,而不是if 阅读全文
posted @ 2019-12-23 11:14 KIU的博客 阅读(167) 评论(0) 推荐(0)
摘要:在Javascript语言中,既有function语句,也有函数表达式,这是令人困惑的.因为它们看起来是相同的.一个function语句就是一个值为一个函数的var语句的简写形式. 下面语句: function f(){} 相当于: var f = function(){} 建议使用第二种形式,因为 阅读全文
posted @ 2019-12-23 09:35 KIU的博客 阅读(263) 评论(0) 推荐(0)
摘要:switch语句,除非明确地中断流程,否则每次条件判断后都贯穿到下一个case条件.例如 switch(expression){ case label1: statementList1 case label2 statementList2 ... default: statementList } 当 阅读全文
posted @ 2019-12-20 18:07 KIU的博客 阅读(455) 评论(0) 推荐(0)
摘要:在JavaScript中有一些运算符能够该百年运算数自身的值,如赋值,递增,递减运算等. 例如: var a; a=1; a = (a++)+(++a)-(a++)-(++a); console.log(a) //-4 如果直观地去判断,会错误地认为返回值是0,实际上变量a在参与运算得过程中,变量a 阅读全文
posted @ 2019-12-20 17:27 KIU的博客 阅读(213) 评论(0) 推荐(0)
摘要:递增(++)和递减(--)运算度容易形成一种不谨慎的编程风格.大多数的缓冲区溢出错误所造成的安全漏洞都是由于这种编码导致的. 当使用++ 和 -- 时,代码往往变得过于紧密,复杂和隐晦.因此,在JavaScript程序设计中不建议使用他们,从而使代码风格变得更为整洁. ++ 和 -- 运算符只能够作 阅读全文
posted @ 2019-12-20 16:13 KIU的博客 阅读(164) 评论(0) 推荐(0)
摘要:JavaScript有两组相等运算符: 和 !==,==和!= . 和 !==这一组运算度会按照期望的方式工作.如果两个运算数类型一致且拥有相同的值,那么 返回true,而!== 返回false. == 和 != 只有在两个运算数类型一致时才会做出正确的判断,如果两个运算数是不同的类型,会试图强制转 阅读全文
posted @ 2019-12-20 15:58 KIU的博客 阅读(212) 评论(0) 推荐(0)
摘要:NaN时IEEE 754中定义的一个特殊的数量值.他不表示一个数字,尽管下面的表达式返回的是true typeof(NaN) 'number' //true 该值可能会在试图将非数字形式的字符串转换为数字时产生,例如 + '0' //0 + 'oops' //NaN 如果NaN是数字运算中的一个运算 阅读全文
posted @ 2019-12-20 15:29 KIU的博客 阅读(773) 评论(0) 推荐(0)
摘要:parseInt是一个将字符串转换为整数得函数,与parseFloat(将字符串转换为浮点数)对应,这两种函数是JavaScript提供得两种静态函数,用于把非数字得原始值转换为数字. 在开始转换时,parseInt会先查看位置0处得字符,如果该位置不是有效数字,就返回NaN,不再深入分析.如果位置 阅读全文
posted @ 2019-12-20 14:24 KIU的博客 阅读(166) 评论(0) 推荐(0)
摘要:使用typeof预算符返回一个用于识别其运算数类型的字符串.对于任何变量来说,使用typeof预算符总是以字符串的形式返回一下6种类型之一 number string boolean object function undefined 需要注意的是,在使用typeof检测null时,返回的是"obj 阅读全文
posted @ 2019-12-20 11:19 KIU的博客 阅读(209) 评论(0) 推荐(0)
摘要:在JavaScript中能够自动转换变量的数据类型,这种转换是一种隐性行为.在自动转换数据类型时,JavaScript一般遵循:如果某个类型的值被用于需要其它类型的值的环境中,JavaScript就自动将这个值换成所需要的类型 如果非空对象用在逻辑运算环境中,则对象被转换为true.此时的对象包括所 阅读全文
posted @ 2019-12-20 10:22 KIU的博客 阅读(138) 评论(0) 推荐(0)
摘要:1.防止浮点数溢出 二级制的浮点数不能正确地处理十进制的小数,因此 0.1+0.2不等于0.3 num = 0.1+0.2; //0.30000000000000004 这是JavaScript中经常报告的Bug,并且这是遵循二进制浮点数算术标准(IEEE 754)而导致的结果.这个标准适合很多应用 阅读全文
posted @ 2019-12-20 10:00 KIU的博客 阅读(437) 评论(0) 推荐(0)
摘要:定义全局变量3种方式: 在任何函数外卖呢直接执行var语句 var f = 'value' 直接添加一个属性到全局对象上.(全局对象是所有全局变量的容器.在web浏览器中,全局对象为window) window.f = 'value' 直接使用未经声明的变量,以这种方式是定义的全局变量被称为隐式的全 阅读全文
posted @ 2019-12-19 18:05 KIU的博客 阅读(362) 评论(0) 推荐(0)
摘要:问题:假设高度已知,写出三栏布局,其中左栏,右栏各为300px,中间自适应 三栏布局可以用浮动,绝对定位,flexbox布局,表格布局(table-cell),网格布局(grid)实现 1.浮动布局 1 <section class="layout float"> 2 <style> 3 .layo 阅读全文
posted @ 2019-12-04 22:50 KIU的博客 阅读(246) 评论(0) 推荐(0)