- JS写多了发现对于一些基本类型的相关处理还不够熟练,这里总结下Js里的基本类型和相关类型的一些常见操作。基本的流程控制语句也与其他语言类似,三种控制结构,顺序,判断,循环。javaScript基本类型包含 字符串、数字、布尔、数组、对象、Null、Undefined,都是弱类型,变量声明为var,也可以不用var声明,这样运行并不会出错,只是变量作用的值域不同而已,关于具体不同于闭包等相关内容属于高级特性有兴趣再补充这里暂不讨论。JS没有类似于Java里复杂的集合类,但是集合类也无非是一些基本的数据类型封装起来的,因此JavaScript在底层数据结构还是提供的比较完善,JS里的null与undefined感觉没太多的区别,可以来验证一下逻辑比较结果:
console.log('比较null与undefined') console.log (null == undefined)
- 字符串类型常见的length为求长度,indexOf定位字符串中某一个指定的字符首次出现的位置,match()为匹配某个字符串,如果匹配返回该字符串,否则返回null,replace(oldString, newString)替换对应字符串.
- 数字类型可以为整数小数或则科学计数的方式。
- 对象有很多种,常用的为数组对象和普通对象,数组对象的初始化方式可以是var array = [],也可以是var array = new Array()。普通对象通过大括号定义var ob = {“name”,”micro”},也可以采用var ob = new Object(),动态的添加元素ob.name = “micro”。关于数组与对象的遍历:
// 定义对象类型 var o1 = {
"id":1, "name":"testName"} var o2 = {
"id":1, "name":"testName"} // 遍历对象属性 console.log('遍历对象如下') for (var x in o1) { console.log('key : ' + x + ' value :' + o1[x]) } // 遍历数组 console.log('遍历数组如下') var array = ["test",2,4,5,7,"test2"] for (var x in array) { console.log(x) }
遍历对象如下 key : id value :1 key : name value :testName 遍历数组如下 0 1 2 3 4 5
当我们比较两个对象的时候:
// 定义对象类型 var o1 = {
"id":1, "name":"testName"} var o2 = {
"id":1, "name":"testName"} // 直接判断对象返回false console.log(o1 == o2) var o3 = o2 // 指向引用指向的对象,返回true console.log(o3 == o2)
这里类似Java里的比较概念,如果我们需要返回的是比较两个对象的属性相等则返回两个对象是相等的那么我需要自己编写一个函数:
function isObjectEquals(o1,o2) {
try { var size1 = 0 var size2 = 0 for (var x in o1) { size1 ++ } for (var x in o2) { size2 ++ } // 对象属性长度一致 if (size1 != size2) { return false } // 遍历对象属性 for (var x in o1) { if (o1[x] != o2[x]) { return false } } return true } catch (err) { console.log(err.stack) return null } } // 调用 // 如果通过属性比较两个对象相等 var isEquals = isObjectEquals(o1,o2) console.log(isEquals)
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178473.html原文链接:https://javaforall.net
