JavaScript核心及高级学习
煲仔灬饭
一名IT爱好者的自学之旅
展开
-
踩坑笔记(十二):如何获取select选中的值
在React项目中,新增角色模块中,需要选择角色所在的权限,在提交时需要获取select选中的值。此处作为记录,方法是通用的。// render()内jsx语法 <select className="sel"> { allRoleType.map((item, index) => { return ( <option key={index} value={index}>{item.roleType}&l.原创 2021-01-03 18:19:01 · 1015 阅读 · 0 评论 -
踩坑笔记(五): 空对象与数组的类型转换
以下结果里,返回‘false’的是:A. []==trueB. !![]C.NaN ==NaND.null ==undefined答案:AC解析:==判断时,会转换为数值Number进行比较; === 判断时,按实际类型和值比较undefined衍生自null,所以null == undefined为true,但全等判断结果为false;NaN不与任何值相等,包括它自身对于空数组[]转换为字符串,为“”;其他非空数组直接转换为"元素"转换为数值,为0;其他非空数组转换为数值,.原创 2020-12-10 16:31:23 · 452 阅读 · 0 评论 -
JavaScript 时间戳格式化日期
JavaScript 时间戳格式化日期项目中从后台获取接口数据时常需要按自己的需求将时间戳转化为对应的日期格式。// 时间戳格式化为日期function formatDate(timestamp, fmt) { // 这里传入的timestamp应该是Number数值,如果是字符串,需要先转换为Number // var timestamp=parseInt(timestamp) var date = new Date(timestamp) if (/(y+)/.tes原创 2020-11-01 12:35:53 · 510 阅读 · 0 评论 -
JS模块化规范
JS模块化规范 模块:将一个复杂的程序依据一定的规则(规范)封装成几个块(文件),并进行组合在一起。模块的内部数据/实现是私有的,只是向外部暴露一些接口(方法)与外部其他模块通信。commonJS每个文件都可当做一个模块。在服务器端:模块的加载是运行时同步加载的__>node.js在浏览器端:模块需要提前编译打包处理,不然体验差,且浏览器端不认识require__>browserify基本语法暴露模块(单个): module.exports=value;暴露模块(多个): ex原创 2020-09-06 22:30:49 · 101 阅读 · 0 评论 -
JavaScript 原型链与闭包
JavaScript原型与原型链原型 JavaScript中创建的每一个函数,解析器都会向函数中添加一个属性prototype。该属性默认指向一个空object实例对象,即原型对象。 原型对象中有一个constructor属性,它指向函数对象。 通过构造函数创建的每个实例对象,解析器都会向对象中添加一个属性__proto__,默认指向的也是原型对象。prototype可称为显示原型属性;__proto__可称为隐式原型属性。即,实例对象.__proto__===类.prototyp原创 2020-07-11 15:19:31 · 546 阅读 · 0 评论 -
DOM 事件与事件的冒泡/委派/绑定
DOM事件处理模型与事件的冒泡/委派/绑定基本事件类型事件就是用户和浏览器之间的交互行为,如点击按钮、鼠标移动和关闭窗口等。可以为对应的对象绑定事件处理函数来响应事件。常用事件类型有:点击类:onclick文档加载:onload --页面加载后才触发,常为window绑定。鼠标类:onmousemove onmousedown onmouseup onmousewheel --鼠标事件,绑定给document键盘类:onkeydown onkeyup onkeypress --一原创 2020-07-04 17:10:16 · 153 阅读 · 0 评论 -
JavaScript DOM 节点的获取与增删改操作
DOMDocument Object Model, 即文档对象模型。JS中通过DOM来对HTML文档进行操作。节点Node构成HTML文档最基本的单元。常用节点类型:文档节点 元素节点 属性节点 文本节点节点Node的获取 - 节点Node的增删改...原创 2020-07-04 15:55:01 · 115 阅读 · 0 评论 -
JavaScript浏览器兼容问题及解决方案(不定期更新)
JavaScript兼容问题及解决方案因在JS学习中碰到大量需适配不同浏览器的问题,故总结截止目前碰到的一些属性/方法/函数/语句等在的兼容情况和解决方案。并进行定期更新:原创 2020-06-28 16:51:06 · 340 阅读 · 0 评论 -
JavaScript字符串String属性及方法
String字符串【包装类】基本数据类型:number string boolean null undefined引用数据类型:object在JS中提供了三个包装类,通过这三个包装类可以将基本数据类型转换为对象:String(). 比如var str=new String(‘hello’);Number(). 比如var str=new Number(‘hello’);Boolean(). 比如var str=new Boolean(‘hello’);但是注意,在实际应用中不会使用基原创 2020-06-26 18:20:36 · 175 阅读 · 0 评论 -
JavaScript数组及其方法
数组Array1.数组也是对象的一种(内建对象),主要用来存储一些数据。2.普通对象是通过字符串作为属性名,而数组是使用数字作为索引来操作元素。3. 数组中的元素可以使任意的数据类型,包括对象和函数。4. 使用typeof检查数组的数据类型,结果返回object。创建数组对象方式语法使用构造函数var 数组名=new Array(值1,值2…值n);使用字面量var 数组名=[值1,值2…值n];操作数组对象读取:数组[索引]添加:数组[索引]=值;原创 2020-06-26 15:54:56 · 142 阅读 · 0 评论 -
JavaScript检查数据类型.对象与函数等的方法
typeof使用typeof运算符用于检查对象的数据类型。如console.log(typeof a);数值对应number字符串对应string布尔值对应boolean空值null对应object未定义对应undefined对象对应object函数对应function枚举使用枚举用于列举查看对象中的所有属性语法:for(var 变量 in 对象){语句}for…in语句中对象有几个属性,循环体就会执行几次,每次执行时,会将对象中一个属性名的值赋值给变量。 .原创 2020-06-18 21:49:34 · 172 阅读 · 0 评论 -
JavaScript构造函数,this与原型
构造函数构造函数就是一个普通的函数,不同点之处在于:1.构造函数习惯上函数名的首字母大写2.构造函数的调用需要使用new关键字 示例: function Person(name,gender,age){ this.name=name; this.gender=gender; this.age=age; this.sayName=fun7; } function fun7(原创 2020-06-18 21:28:52 · 231 阅读 · 0 评论 -
JavaScript对象与函数基础
对象object对象是JavaScript中除基本数据类型(上篇)外的最后一种数据类型–引用/复合数据类型,在对象中可以保存多个不同数据类型的属性。对象的分类1) 内建对象–由ES标准定义的对象。如String等。2) 宿主对象–由JS的运行环境提供的对象。如BOM/DOM等。3) 自定义对象创建对象方式一. 使用object对象语法:var 对象名=new Object();方式二. 使用字面量创建语法:var 对象名={属性名1:属性值,属性名2:属性值,…属性名n:属性值}*原创 2020-06-18 18:49:30 · 123 阅读 · 0 评论 -
JavaScript基本数据类型与转换
JavaScript基本数据类型数值numberJavaScript中所有的数值都是Number类型,包括正数和浮点数(小数)数值的最大/小值为Number.MAX_VALUE/Number.MIN_VALUE,具体值为1.7976931348623157e+308/5e-324,当超过最大/最小值时,则返回Infinity(正无穷)/-Infinity(负无穷)。NaN是一个特殊的数值,标识Not A Number。typeof检查数据类型返回的结果也是NaN。在JavaScript中的原创 2020-06-12 21:07:05 · 105 阅读 · 0 评论