JS基础4

作者: pp_5793 | 来源:发表于2018-10-28 21:07 被阅读0次

Array()

var a = new Array(3);
var b = [undefined, undefined, undefined];

a.length // 3
b.length // 3

a[0] // undefined
b[0] // undefined

0 in a // false
0 in b // true

以上代码告诉我们,直接使用数组定义赋值是更好的方法,而不是用Array(),使用定义赋值的会在该空间内保留这个键位,但是这个值不会定义,仅仅是保留位置,而使用Array(),则连键位都不给留,也没有值。

Array静态方法

Array.isArray()方法返回一个布尔值,是判断该参数是否为一个数组。
map()
map方法是把 数组中的每一个参数依次传入函数参数。并返回新的数组。但是原数组不变。

var arr=[1,2,3];
arr.map(fonction (n){
return n+1});//[2,3,4]
console.log(arr);//[1,2,3]

map方法接受一个函数作为参数。该函数调用时,map方法向它传入三个参数:当前成员、当前位置和数组本身

[1, 2, 3].map(function(elem, index, arr) {
  return elem * index;
});
// [0, 2, 6]

如果数组有空位,map方法的回调函数在这个位置不会执行,会跳过数组的空位。

var f = function (n) { return 'a' };

[1, undefined, 2].map(f) // ["a", "a", "a"]
[1, null, 2].map(f) // ["a", "a", "a"]
[1, , 2].map(f) // ["a", , "a"]

上面代码中,map方法不会跳过undefined和null,但是会跳过空位。

forEach()

forEach()方法与map()方法很相似,也是对数组的所有成员依次执行参数函数。但是,forEach()方法不返回值,只用来操作数据。这就是说,如果数组遍历的目的是为了得到返回值,那么使用map方法,否则使用forEach()方法。

forEach()的用法与map()方法一致,参数是一个函数,该函数同样接受三个参数:当前值、当前位置、整个数组。

Booleam对象

Boolean(1) // true
Boolean('false') // true
Boolean([]) // true
Boolean({}) // true
Boolean(function () {}) // true
Boolean(/foo/) // true

最后,对于一些特殊值,Boolean对象前面加不加new,会得到完全相反的结果,必须小心。

if (Boolean(false)) {
  console.log('true');
} // 无输出

if (new Boolean(false)) {
  console.log('true');
} // true

if (Boolean(null)) {
  console.log('true');
} // 无输出

if (new Boolean(null)) {
  console.log('true');
} // true

面向对象编程1

Javascript没有类的概念,它的全部的面向对象是由构造函数生成的,构造函数的用法如下:

var Vehicle=function(){
this.price=1000;
return 1000;
};
var v=new Vehicle();
console.log(v);

返回

Vehicle { price: 1000 }

构造函数为了与一般的函数区别开,一般第一个字母用大写来表示,构造函数的特点有两个,函数体内部使用了this关键字,代表了所要生成的对象实例。生成对象的时候,必须使用new命令。
使用new命令可以使得对象取得该构造函数中this所指向的值,比如以上代码中,我们用了new 指令来取得this的值(是一个名为Vehicle的对象跟着this中给该对象设定了属性名price以及它的值是1000)并赋值给v,而不是函数本身的返回值1000。

相关文章

  • js基础4

    一、DOM操作 children 子节点 儿子节点 parentNode 父节点 谷歌和火狐的方式fir...

  • JS基础4

    Array() 以上代码告诉我们,直接使用数组定义赋值是更好的方法,而不是用Array(),使用定义赋值的会在该空...

  • js基础(4)

    15、正则 正则就是一个规则,用来处理字符串的规则1、正则匹配编写一个规则,验证某个字符串是否符合这个规则,正则匹...

  • JS基础(4)

    eval: 判断一个数是不是一个整数 ? num == parseInt(num) 真与假 真:非0数字、非空字符...

  • js笔记

    js 基础 var val = (1,2,4)val //4 var obj = {}Object.defineP...

  • awesome frontEnd

    1.JS基础篇1:数据类型(8种) 2.JS基础:正则表达式 3.带你彻底弄懂Event Loop 4.js 深拷...

  • day5 js基础语法

    1、什么是js 2、js基础语法 3、变量 4、运算符 5、分之结构 6、循环 7、函数

  • learning egret

    learning egret Index 1.js如何调用ts?2.ts如何调用js?3.egret基础4.Q&A...

  • Web开发快速入门基础篇(4)前端基础之JS

    4.前端基础之JS 简述 掌握了解JavaScript(js)的基本使用,以及jquery常用操作,能够处理前端交...

  • 面试题笔记

    JS基础 JS中使用typeof能得到哪些类型?考点:JS变量类型 以上代码2-4行,JS能够把值类型直接区分出来...

网友评论

      本文标题:JS基础4

      本文链接:https://www.haomeiwen.com/subject/qlemtqtx.html