javaScript学习
风絮_
愿你在山顶时有清风拂面,愿你在谷底时依然不孤不寒。
展开
-
js笔记——js的特点、变量、运算符
JavaScript的特点 解释性语言 解释性语言的程序不要编译,省了道工序,解释性语言在运行程序的时候才翻译,每一个语句都是执行的时候才能翻译。这样解释性语言每执行一次要翻译一次,效率表较低。 如:python,js 编译型就是编译的时候直接编译成机器可以执行的(.exe .dll .ocx),编译和执行是分开的,但是不能跨平台。因为翻译只做了一次,运行的时不要翻译,所以编译型语言的程序执行效...原创 2019-04-12 14:23:46 · 493 阅读 · 0 评论 -
js笔记——异常处理
js将可能出现异常的代码放在try语句块中,try语句块中的语句出现异常之后,直接执行catch语句块中的语句,finally语句块中的语句不管怎样都会被执行。 例子: try { console.log('a'); console.log(b); console.log('c'); } catch (e) { console.log("name:" + e.n...原创 2019-07-22 18:15:00 · 128 阅读 · 0 评论 -
js笔记——封装type方法、数组去重
封装type方法 虽然typeof已经可以判断数据类型,但是对于包装类,typeof判断出来的都是object,如下图: 现在封装一个函数type,可以准确地判断包装类的类型 ,实现如下: function type(target) { var ret = typeof (target); var template = { "[object Array]": ...原创 2019-07-22 15:49:04 · 388 阅读 · 0 评论 -
js笔记——克隆
浅克隆 例如: var obj = { name: "xiaoming", age: 18, card: ["visa", "master"] } function clone(origin, target) { var target = target || {}; for (var prop in origin) { ...原创 2019-07-17 17:32:28 · 114 阅读 · 0 评论 -
js笔记——类数组
类数组 引入: function test() { console.log(arguments); // Arguments(3) [1, 2, 3, callee: ƒ, Symbol(Symbol.iterator): ƒ] arguments.push(4); // 报错:Uncaught TypeError: arguments.push is not a fun...原创 2019-07-18 17:21:05 · 109 阅读 · 0 评论 -
js笔记——数组
数组 数组的定义 数组字面量 var arr = []; var arr = [1,2,3]; var arr = [1,,2]; // [1,undefined,2]称为“稀松数组” 构造方法 var arr = new Array(); var arr = new Array(1,2,3,4); var arr = new Array(10); // 表示长度为10的数组 数组的读...原创 2019-07-18 15:33:42 · 110 阅读 · 0 评论 -
js笔记——继承、命名空间,对象枚举
继承 继承发展史 传统形式 -->原型链 过多的继承了没用的属性 借用构造函数 function Person(name, age, sex) { this.name = name; this.age = age; this.sex = sex; } function Student(name, age, sex, grade) { Person...原创 2019-05-10 23:40:08 · 174 阅读 · 0 评论 -
js笔记——原型(prototype)、原型链、call/apply
原型 定义:原型是function对象的一个属性,它定义了构造函数制造出对象的公共祖先。通过该构造函数产生的对象可以继承该原型的属性和方法。原型也是对象。 Person.prototype.name = "lijing"; Person.prototype.say = function () { console.log("prototype:say"); } function Pers...原创 2019-05-06 22:30:41 · 197 阅读 · 0 评论 -
js笔记——this和arguments
this 函数预编译过程this–>window function test(c) { var a = 123; function b() {} } test(1); // 预编译的时候生成AO对象: // AO{ // arguments:[1], // this:window, // c:1, // a:undefined, // ...原创 2019-05-14 13:36:13 · 409 阅读 · 0 评论 -
js笔记——作用域、作用域链精解、闭包、立即执行函数’
作用域、作用域链精解 运行期上下文:当函数执行时,会创建一个称为执行期上下文的内部对象。一个执行期上下文定义了一个函数执行的环境,函数每次执行时对应的执行上下文都是独一无二的,所以多次调用一个函数会导致创建多个执行上下文,当函数执行完毕,它所产生的执行上下文被销毁。 查找变量:从该函数的作用域链的顶端依次向下查找 [[scope]]:每个javascript函数都是一个对象,对象中有些属性我们可以...原创 2019-04-18 23:51:48 · 322 阅读 · 0 评论 -
js笔记——函数、递归、预编译
函数 函数声明:function 函数名(参数){函数体;} 函数表达式:var 函数名=function(参数){函数体;} //命名函数表达式定义函数,但是此时只有test表示的是这个函数,abc不是。 var test = function abc() { alert('hello world'); } //匿名函数表达式定义函数 --> 一般说函数表达式值的是这个 var...原创 2019-04-17 17:09:48 · 212 阅读 · 0 评论 -
js笔记——对象、包装类
对象 对象的基本知识 万事万物皆对象 属性的增删改查 var xiaoming={ name:'xiaoming', age : 18, sayName:function(){ console.log(this.name); } } xiaoming.sayName();// xiaoming 访问属性 xiaoming.wife=...原创 2019-04-21 23:16:19 · 193 阅读 · 0 评论 -
js笔记——运算符、语句、typeof、类型转换
js中的运算符 比较运算符:">"、"<"、"=="、">="、"<="、"!=" 返回值为boolean值 在""中的特例:NaNNaN为false 逻辑运算符:"&&"、"||"、"!" 运算结果为真实值 “&&”:先看第一个表达式转换成布尔值的结果,如果结果为真,那么他会看第二个表达式转换为布尔值的结果,然后如果只有一个表达式的话...原创 2019-04-15 18:46:21 · 816 阅读 · 0 评论 -
js笔记——es5严格标准
含义: 不再兼容es3的一些不规则语法,使用全新的es5规范 使用方法: 全局严格模式:在脚本的第一行写上"use strict";语句,在别的地方写的话会被解析成一条语句 局部函数内严格模式(例如放在函数内部) function test() { "use strict"; console.log('test'); } 特点: 不支持with语句 // ...原创 2019-07-22 19:13:23 · 197 阅读 · 0 评论