博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js5
阅读量:5821 次
发布时间:2019-06-18

本文共 4063 字,大约阅读时间需要 13 分钟。

1、编写一个函数,以一个数字作为参数,把这个数字是否是质数(布尔值)作为函数的返回值。

`function isPrime(number){  if(number === 1){return false;  }  var result = true;  for(var i = 2;i < number - 1;i++){if(number % i === 0){  result = false;  break;}  }  return true;}console.log(isPrime(3));`

2、编写一个函数,把年月日分别作为这个函数的3个参数,返回这一天是这一年的第几天

`function getDay(year,month,date){  var rules = [31,isPrime(year) ? 29 : 28,31,30,31,30,31,31,30,31,30,31  ];  var result = 0;  for(var i = 0;i 

3、编写一个函数,以一个数字n作为参数,返回1! + 2! + 3! + ... + n!的结果

`function sumOfjiecheng(n){  var result = 0;  for(var i =1;i<=n;i++){var number = 1;for(var j =1;j<=i;j++){  number = number * j;}result = result + number;  }  return result;}`

一、作用域

如果函数中没有return语句,系统会自动补上return undefined

在函数内部定义的变量,只能在函数内部使用

`functiong fn(){console.log('hello');//return undefined;}`

这里的return undefined便是系统自动补上的。

在js中,只有函数才会产生作用域,而if,while,for都不会产生作用域

二、作用域链

提升函数:对于使用函数申明方式定义的函数,它的定义时机会被提到当前作用域的开头。

作用域链:当在同级中没有找所定义的变量,便会一级一级地向上找定义的变量。

`var a =10;function fn(b){  a=30;  function fn1(){var a = 40;console.log(a);  }  function fn2(){a = 50;console.log(a);  }  fn1();  fn2();  console.log(a);}fn(a);console.log(a);`

所得的结果便是:40,50,50,50

三、变量提升

在申明变量的时候,会把当前变量的时机放到作用域的开头,只有变量的申明才有提升,变量的赋值没有提升。

`console.log(a);var a = 10;`

所得的结果便是undifined;其实它的顺序便是:

`var a;console.log(a);`a = 10;

四、对象

用花括号括起来,是无序集合

`var obj={name:'Bob',gender:'male'};console.log(obj.name);或者用:console.log(obj['name']);`

取对象属性的两种方式:点和方括号(推荐优先使用点这种方式)

1、点会把点后面的名称直接作为属性名,而方括号会把方括号里面的返回值作为属性名。

2、对于一些特殊的属性名,比如使用数字开头,或者属性名中间出现了一些符号(+等,就是在命名规范中不合法的一些),这些属性名只能通过方括号来取。

`var arr=[1,2,3]`

这种方式称为自变量数组。

对象和数组的区别例:

`var obj = {    0 : 1,    1 : 2,    2 : 3,}console.log(obj) console.log(obj['length'])`

这个是对象,不会打印出数组的项数,属性的变化需要定义了才会有

array对象方法 构建数组以下三种方式: var arr = [1,2,3]这个是数组字面量,如果没有特殊情况,就是用这个方式,比以下三种方法更简便

一:condytuvyot是处理继承的

`var arr = new Array()       赋值的时候不够直观arr[0] =1;arr[1] =2;arr[2] =3;`

二: var arr = new Array(5)

不存储数据的话,length为5,如果arr[5]的话,打印出来的长度为6

三:var arr = new Array(1,2,3)

五、Array 对象方法

1、concat() 连接两个或更多的数组,并返回结果。

2、join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。

数组join的使用方法

`var arr = [1,2,3,'hello'];var result = arr.join ();数组每一项都拼接在一起console.log(arr);console.log(result);`

3、pop() 删除并返回数组的最后一个元素

数组pop使用方法:把数组的最后一项删掉,会修改数组本身,将删除的一项作为返回值的方法 要是取最后一项的话,用[]取值就可以

`var arr = [1,2,3,'hello'];var result = arr.pop ();console.log(arr);console.log(result);`

4、push() 向数组的末尾添加一个或更多元素,并返回新的长度。

数组pus使用方法:给数组添加一个或多项新项,第一项后的项数可以写也可以不写,会修改数组本身 并且返回新长度,添加新项是添加到末尾的;如果是添加数组的话,把数组作为一项(保留数组),添加到末尾中去,例2

`var arr = [1,2,3,'hello'];var result = arr.pus ('world');console.log(arr);console.log(result);`

例2

var arr = [1,2,3,'hello'];var arr2 = [nh,nk]var result = arr.pus ('arr2');console.log(arr);console.log(result);

5、reverse() 颠倒数组中元素的顺序。

reverse方法:修改元素组,把数组的从左到右的排序,改成从右到左

6、shift() 删除并返回数组的第一个元素

shift方法:删除数组第一项并将删除的一项作为返回值的方法

7、slice() 从某个已有的数组返回选定的元素(负数的写法只能在slice中使用。)

slice方法,需要填写开始的角标,和结束的角标(结束的角标5不包括在内,不会被选取到)角标可以为负数,只有slice这里可以使用负数,代表从右往左数的对象 截取数组的片段 不会修改数组本身,截取出来的长度比实际的少1 var arr = [1,2,3,'hello',4,5,'js'];

var result = arr.slice ('3,5');    var result = arr.slice ('3,-2');console.log(arr);console.log(result);

8、sort() 对数组的元素进行排序(可以传入一个参数,规定它的一个排序规则,可这个参数一定是一个函数),如果不定义比较规则,它是按照首字符的大小进行排序的。

`var arr=[23,1,300,7,4]//定义排序规则的函数function rules(a,b){    if(a

也可以将代码简化为:

`function rules(a,b){return a-b;(从小到大排列)//return b-a;(从大到小排列)}arr.sort(rule);console.log(arr);`

如果让它设为匿名函数的方法:让它从小到大排序:

`arr.sort(function(a,b){return a-b})`

9、splice() 删除元素,并向数组添加新元素。

splice方法:作用一。删除数组中间的某一部分 需要填写两个参数,一个数删除的角标,第二个参数写需要删除几项 var arr = [23,1,300,7,4] var result = arr.splice(2,1) console.log(arr); console.log(result); 这个是删除的项的返回值 作用二。替换的特性,替换数组中的某一部分 var arr = [23,1,300,7,4] var result = arr.splice(2,1,400,500) console.log(arr); console.log(result) 作用三。在数组中某个位置插入新项 var arr = [23,1,300,7,4] var result = arr.splice(3,0,100,200) 3表示在角标为3的位置插入,0表示不删除数组中的项 console.log(arr); console.log(result)

10、toSource() 返回该对象的源代码。

11、toString() 把数组转换为字符串,并返回结果。

12、toLocaleString() 把数组转换为本地数组,并返回结果。

13、unshift() 向数组的开头添加一个或更多元素,并返回新的长度。

14、valueOf() 返回数组对象的原始值

转载于:https://www.cnblogs.com/wangnima1314/p/6013735.html

你可能感兴趣的文章
在Tomcat上配置Proxool的DataSource(Jndi)
查看>>
CI框架代码体会
查看>>
iOS-设备唯一标识符
查看>>
网络管理员的应用监控工作
查看>>
618商战大片谢幕,销量冠军竟然有两个?
查看>>
【从中国到美国轻松跨越】—万网美国硅谷机房上线啦,低至78元/月!
查看>>
30 行 Javascript 代码搞定智能家居系统
查看>>
我的友情链接
查看>>
Windows 命令
查看>>
ROS下的PPTP配置
查看>>
Discord 公司如何使用 Cassandra 存储上亿条线上数据
查看>>
让nginx支持shtml
查看>>
CentOS6.5菜鸟之旅:U盘安装CentOS64位
查看>>
我的友情链接
查看>>
Twitter Storm 使用maven构建storm项目
查看>>
百度云推送的一些注意事项
查看>>
我的友情链接
查看>>
CNVD-2018-19126 EmpireCMS后台任意代码执行可GetShell
查看>>
debian安装ELK日志服务器配置apt镜像源
查看>>
线程池
查看>>