JavaScript学习笔记:对象属性检测
JavaScript对象可以看作是一个属性的集合,很多时候需要看某个属性是否存在于某个对象中。在JavaScript中对象属性的检测主要有以下几种方法。 in
运算符、hasOwnProperty()
方法、propertyIsEnumerable()
方法和!==undefined
。接下来看这四种方法怎么检测对象属性。
JavaScript对象可以看作是一个属性的集合,很多时候需要看某个属性是否存在于某个对象中。在JavaScript中对象属性的检测主要有以下几种方法。 in
运算符、hasOwnProperty()
方法、propertyIsEnumerable()
方法和!==undefined
。接下来看这四种方法怎么检测对象属性。
JavaScript中对象的属性分为两种:数据属性和访问器属性。然后根据具体的上下文环境的不同,又可以将属性分为:原型属性和实例属性。原型属性是定义在对象的原型(prototype
)中的属性,而实例属性一方面来自构造的函数中,然后就是构造函数实例化后添加的新属性。
洗牌算法是我们常见的随机问题,在玩游戏、随机排序时经常会碰到。它可以抽象成这样:得到一个M
以内的所有自然数的随机顺序数组。在百度搜“洗牌算法”,第一个结果是《百度文库-洗牌算法》。扫了一下里面的内容,很多内容都容易误导别人走上歧途,包括最后用链表代替数组,也只是一个有限的优化(链表也引入了读取效率的损失)。
在很多语言当中都有变量,而这也是基础知识。在JavaScript中也有变量,而最近也在学习有关于这方面的知识。今天就来总结一下JavaScript中有关于变量的一些基础知识。
JavaScript有两种变量:局部变量和全局变量。而这两个对于初学JavaScript的同学来说是一个较为麻烦的。非常容易搞错。我也看了好几天有关于这方面的教程,也还没完全整明白。今天把自己理解的记录下来,有不对之处,还请高手斧正。
在JavaScript中可以通过内置的Math.max()
的最大值,但是要从多重数组中取出最大值,还是有一定的难度。假设你有一个数组,而且这个数组中包含了数字的子数组,而我们要做的是从数组中的每个子数组中返回其最大的那个最大数。这篇文章介绍了如何实现在二维数组和多维数组中取出最大值的几种方案。
在JavaScript中随机性经常都会使用到,但随机性也有许多种不同的类型,以及需要根据不同的应用程序选择不同的随机性。今天尝试了一下,在JavaScript中数值的处理也是多种多样,非常的有意思,而且有些处理让人不解。只能暂作记录,慢慢考究。
想像一下,一个Web组件都在一个.js
文件中,这个文件包含了一切:HTML结构、CSS样式和一些逻辑。仍然会有基本的样式表,但动态的CSS将使用JavaScript来处理。现在这样做是能做的,并实现它的一个方法称为CSSX。CSSX是我用了近一个月的业余时间写的一个项目,它是具有挑战性的、有趣的,而且在这个项目中我学到很多新东西。它的最终结果就是变成一个工具,允许你在JavaScript中写CSS。
React是一个用来创建用户界面的一个开源库。它可以让你轻松的创建与底层数据模块保持一致的UI。这篇文章主要针对初学者,包括了React的基本知识和JSX语法。或许,开始使用React最简单的方法就是从CDN中引入一个库(文中的例子是这样做的)。或者你可以使用npm
来安装或者从官方网站下载React运行所需要的文件。
JavaScript中创建函数有两种不同的方式。函数声明这种方式已经使用很久了,但慢慢的被函数表达式这种方式在替代。在代码中更多的使用函数表达式来实现函数声明式功能,这样使用你的代码更简洁,更易维护。函数表达多被广大的开发人员使用,也是开发中的一个重要组成部分。