JavaScript笔记

小东西

1.访问未初始化的变量

var a;

console.log("The value of a is "+a);// logs "的值未定义"

console.log("The value of b is "+b);// 抛出ReferenceError异常

2.数据类型

六种原型数据类型(Boolean、null、undefined、Number、String、Symbol)以及Object对象

3.数据转换

parseInt()和parseFloat()分别用于字符串变为数字的全局方法。//双引号~

4.对象的值

对象属性名字可以是任意字符串,包括空串。如果对象属性名字不是合法的javascript标识符,它必须用""包裹。属性的名字不合法,那么便不能用.访问属性值,而是通过类数组标记("[]")访问和赋值。

JavaScript笔记_第1张图片

5.函数的递归

function factorial(n){

  if((n==0)||(n==1))

  return1;

  else

  return(n*factorial(n-1));

}    // 用自身递归计算阶乘

6.闭包

JavaScript允许函数嵌套,并且内部函数可以访问定义在外部函数中的所有变量和函数,以及外部函数能访问的所有变量和函数。但是,外部函数却不能够访问定义在内部函数中的变量和函数。这给内部函数的变量提供了一定的安全性。而且,当内部函数生存周期大于外部函数时,由于内部函数可以访问外部函数的作用域,定义在外部函数的变量和函数的生存周期就会大于外部函数本身。当内部函数以某一种方式被任何一个外部函数作用域访问时,一个闭包就产生了。

7.函数默认参数是undefined

对象数组以及字符串

1.创建对象

创建对象

//直接创建

person=new Object();

person.name="bill";

person.age="13";

//函数构造对象

function person(name,age)

{

this.name=name;

this.age=age;

}

var myFather=new person("bill","13");

//对象初始化器

person={name:"bill",age:"13"};

2.常用的APi

1.数组

concat() //连接数组

join() //把数组变为字符串 默认分隔符为“,”,可以变为“ ”、“.”等等......

pop() //删除并返回最后一个元素

shift() //删除并返回第一个元素

unshift(newelement1,newelement2,....,newelementX) //向数组的开头添加一个或更多元素,并返回新的长度

push() //在末尾添加一个元素并返回数组的新长度

reverse() //颠倒数组中元素的顺序

slice(start,end) //提取start到end的数组值,原数组不改变

sort()/sort(sortNumber) //字母顺序排序、数值大小排序

splice(index,howmany,item1,.....,itemX) //如果删除数量(howmany)为0就不删除直接在index后面添加items,item为可选属性

toSource() //返回该对象的源代码

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

3.字符串练习

// 字符串长度

function stringLength (str) {

var theLength=str.length;

return theLength;

}

// CHONG重复打印

stringLength('strr');

function repeatStringNumTimes (str,num) {

var result="";

while (num > 0) {

result += str;

num--;

}

return result;

}

repeatStringNumTimes('huang',3);

function repeatStringNumTimes (str,num) {

var array = [];

for (var i = 0; i < num; i++) {

array.push(str)

}

return array.join("");

}

repeatStringNumTimes ('strin',3);

// 字符串去重函数

function uniqString(str) {

var Arr = str.split("");

var newArr = [];

for (var i in Arr) {

if (newArr.indexOf(Arr[i]) == -1){

newArr.push(Arr[i]);

}

}

var strr = newArr.join("");

return strr;

}

uniqString('wwwooorrrdddd');

// 字符串翻转

function reverseString(str) {

var arr = str.split("");

var reverseArr = arr.reverse();

var strr = reverseArr.join("");

return strr;

}

reverseString('str');

// 去除数字

function removeNum(str) {

var res;

if (typeof str === 'string') {

res = str.replace(/\d/g, '');

}

else {

res = str ;

}

return res;

}

removeNum('s1t4r3');

//统计字符串出现的数量

function caculateExistNum(str){

var res = {};

var Arr = str.split('');

Arr.forEach(function (eachChar){

res[eachChar] = res[eachChar] ? res[eachChar] + 1 : 1;

})

var strr = '';

var key = Object.keys(res);

key.forEach(function(eachChar) {

strr = strr  + res[eachChar] + eachChar;

})

return strr;

}

caculateExistNum('strr');

你可能感兴趣的:(JavaScript笔记)