亚洲城ca788手机版官网javascript reverse 问题

2016/12 01 14:12
此文章不得转载,如有需要请联系网站管理员。

一度的温暖,一百度的爱情,来自于亚洲城ca788手机版官网的点点滴滴

function palindromestr {
  // Good luck!
  str = str.toLowerCase;
  str = str.match/[a-z,0-9]/g;
  var str1 = str;
  str.reverse;

  return str + "  vs  " + str1;
}
palindrome"1 eye for of 1 eye."

为啥str和str1 都市翻转,变成一样的?

如二楼所说,match办法前往的是一个数组,而数组本身便是一个东西(JS里面数组和东西有着不行告人的联络,嘻嘻)。东西存储在堆中,变量存储在栈中,而东西赋值给变量是援用转达,也便是将东西的地点转达给了这个变量,因此str1和str是指向的分歧个东西,它的修正会天然就影响统统援用它的变量了。

str = str.match/[a-z,0-9]/g; 这句的时分str曾经不再是String 而是Array了

如二楼所说变成数组了,它们成地点的转达。值没有被复制。并且你把变量声明在函数底部,和声明在顶部是一样的,变量在函数作用域中有声明提拔。代码同等于

function fnNamestr {
  var str1;
  //....do stuff
  str1 = str;
  return ...
}

(看完/读完)这篇文章有何感想! 来看看亚洲城ca788手机版官网是怎么评论的吧!

--转载请注明: www.ca788.com#亚洲城ca788手机版官网 » 亚洲城ca788手机版官网javascript reverse 问题

发表评论

(必填)