前端---JavaScript基础2
文章目录
- 前端---JavaScript基础2
- 对象类型判断
- call函数
- 对象属性操作
- 深拷贝方法
前端—JavaScript基础2
重构以下代码:(以面向对象的方式)
重构后:(其中this指针问题也可改成箭头函数)
对象类型判断
call函数
对象属性操作
//对象属性操作
//属性增加
var obj = {};
obj.name = "jack";
obj['age'] = 20;
var addr = "wh";
obj[addr] = "武汉"; //使用的变量
console.log(obj);//属性删除
var obj2 = {};
obj2.name = "aaaaa";
obj2['age'] = 22;
delete obj2.name;
console.log(obj2);//检测属性
var obj = {name:"bbb",age:23,action:function(){this.addr = "beijing"}
}
obj.action();
console.log(obj);
//in
console.log('name' in obj)
//hasOwnProperty
console.log(obj.hasOwnProperty('age'))//属性枚举 遍历
var arr = ['a','b','c','d'];
var obj = {name:"bbb",age:23}
//for in
for(var key in obj){//属性名 属性值console.log(key,obj[key])
}
for(var v in arr){console.log(v,arr[v])
}
//for
for(var i=0;i<arr.length;i++){console.log(arr[i])//if(条件ok) 终止 return break;
}
//forEach 没有返回值
arr.forEach(function(item,index){//不能终止console.log(item)
})
//map -- 可修改数组的值 有返回值
var m = arr.map(function(item){ //循环每一个属性 并返回改变后的属性return item+1;
})
//filter 过滤器 返回满足条件的数组
var f = arr.filter(item){return item === 'c';
})
//every 返回true false 都必须满足条件
var e = arr.every(item){return item === 'c';
})
//some 返回true false 满足其中一个即可
var e = arr.every(item){return item === 'c';
})
//reduce
var arr = [1,3,5,7];
//总数 当前数
var s = arr.filter(total,currentValue){return total+currentValue;
},10) //10初始值//对象属性拷贝
//对象序列化与反序列化
//JSON --- 浏览器中对象
var obj = {name:"bbb",age:23};
console.log(JSON.stringify(obj));
var str = '{name:"bbb",age:23}';
console.log(JSON.parse(str))
深拷贝方法
function deep(dest,ori){ //dest目标对象 ori源对象for(var i in ori){if(typeof ori[i] === 'object'){//递归 判断是数组还是对象dist[i] = (ori[i].constructor === Array) ? []:{}; //初始化属性deep(dest[i],ori[i]);}else{dest[i] = ori[i]; //非引用属性}}return dest;
}var a = deep({},Animal);
前端---JavaScript基础2相关推荐
- Web前端-JavaScript基础教程上
Web前端-JavaScript基础教程 将放入菜单栏中,便于阅读! JavaScript是web前端开发的编程语言,大多数网站都使用到了JavaScript,所以我们要进行学习,JavaScript ...
- 前端---JavaScript基础4
文章目录 前端---JavaScript基础3 call&apply 原型链 原型链操作 例子:按钮组件封装:(类似于Bootstrsp里的按钮组件封装) 前端-JavaScript基础3 c ...
- 前端---JavaScript基础3
文章目录 前端---JavaScript基础3 普通对象与函数对象 原型及属性判断 构造函数继承 原型继承 组合继承 寄生组合式继承 前端-JavaScript基础3 普通对象与函数对象 原型及属性判 ...
- 前端---JavaScript基础1
文章目录 前端---JavaScript基础1 数据类型 面向对象 对象创建方式 对象类型判断 前端-JavaScript基础1 JS是 解释型语言:跨平台 慢 编译型语言:不能跨平台 快 数据类型 ...
- Web前端-JavaScript基础教程下
Web前端-JavaScript基础教程下 <script>有6个属性: async对外部脚本有效,可以用来异步操作,下载东西,不妨碍其他操作. charset为src属性指定字符集. d ...
- 前端JavaScript基础知识点
JavaScript基础 阶段说明 JavaScript基础 Web API JavaScript高级 ##第一天重点内容 变量的声明及使用 数据类型 类型转换 运算符 JavaScript的组成 E ...
- 菜鸟学前端--javascript基础
在学习过css相关的知识,有了前端工程师的一些基础知识.但要较好的掌握前端,必须要学习好javascript的知识. 下面将从基本语法.变量.关键字.保留字.语句.函数.BOM等角度阐释. 一.基本语 ...
- 前端JavaScript基础
目录 JavaScript基础 1:JS概述 1.1:历史: 1.2:现状: 1.3:特点: 1.4:应用场景 2.搭建开发环境 2.1:浏览器: 2.2:服务器端 2.3:运行JS 3.语法规范 4 ...
- 前端——javascript基础-ECMAScript
文章目录 JavaScript简介 ECMAScript JavaScript的引入方式 javascript得输出方式: 变量 五种基本数据类型 运算符 数据类型转换 if语句 switch语句 w ...
最新文章
- 关于协作机器人10个观点的讨论
- System.Timers.Timer与System.Windows.Forms.Timer 区别
- android sdk入门(1)
- 最全python爬虫库安装详解
- 淘宝美工实用素材|轻松交作业过稿
- 针对灰鸽子声明 金山“四问”灰鸽子工作室
- Linux内核和用户空间数据交互copy_to_user和copy_from_user
- 声道测试音频_一音成佛的尺八音色,电吹管的单声道和双声道录音对比(2)
- 学生用计算机没电了,cfa计算器没电了怎么办
- 老范的Bug跟踪管理系统0.1 Alpha——介绍篇
- Windows环境下使用UHD PythonAPI开发USRP X310
- 背单词APP测试与评估(百词斩vs扇贝)
- AppWeb认证绕过漏洞(CVE-2018-8715)漏洞复现
- win7如何用双显示屏,如何设置
- 任何一个二目关系都是BCNF
- 音视频开发之旅(36) -FFmpeg +OpenSL ES实现音频解码和播放
- 中国第四个南极科考站
- 吴恩达Coursera深度学习课程 deeplearning.ai (5-2) 自然语言处理与词嵌入--编程作业(二):Emojify表情包
- 国产操作系统厂商 中科红旗Linux进入清算程序
- 软件测试等级abcd,学业水平测试怎样才算过?ABCD等级的分数的范围
热门文章
- 【题意+分析】1067 Sort with Swap(0, i) (25 分)_24行代码AC
- include指令与动作的区别【贴心,简洁】
- 计算机系统的主存主要是由()构成的。【最全!最详细分析!】
- 【答案放在最后,看题看不到答案】2017年下半年软件设计师 上午选择题
- java display属性_JavaScript中的style.display属性操作
- Mysql数据库函数(数字,字符串,日期时间)
- linux 无法访问docker mysql8_Apple M1芯片不支持Docker?Docker:正在努力适配
- 位运算 c语言 头文件 linux,1. 位运算_C语言_C语言入门-Linux C编程一站式学习...
- 自己搭建的邮件系统不能发往gmail、hotmail等问题解决
- 微软系统封装工具ImageX使用方法及实例介绍