JS学习笔记```

1/ js数据类型:   3种基本的类型;数字,字符串和布尔值。  2种小数据类型:null 和 undefined . (为什么叫小数据类型?因为他们只定义了一个值)    1种复合类型:object. (在这个类型中,它的值可以是基本数据类型,也可以是复合类型,比如其他的 object. )   注意:在对象中有一个特殊的对象----function.(它是一个可以执行代码的对象.) 其他的一些对象: 数组: Date类 : 是日期的对象。 RegExp类: 正则表达式的对象。 Error 类:js中发生错误的对象。 2/ ,使用数据类型注意的地方: 1):数字:由于数字有什么8进制,10进制,16进制等。。。八进制:var num = 011; //以"0"开头十六进制:var num =0x1f; //以"0x"开头所以对于js这个都能识别的语言来说,就必须得注意。 alert(377);   // 377 alert(0377);    //255   =  3 * 64 + 7 * 8  + 7 * 1 进行算术运算有个重要的对象:Math. 具体可以去网上下载手册,查询里面的方法。 2个有用的函数:isNaN()和isFinite() isNaN() : 用于检查其参数是否是非数字值。// 提示:是非数字哦。(not a number) document.write(isNaN(0) )  //返回false document.write(isNaN(5-2) ) //返回false document.write(isNaN ("Hello") ) //返回true isFinite(number) 函数用于检查其参数是否是无穷大。如果number是有限的,则返回true. 如果 number 是 NaN(非数字)或者是无穷大,则返回false; 2):字符: ‘you’re right’; 这样写的话js会误以为 在you字母后就结束了,引起错误。所以当遇到这种情况的时候,必须用到转义。我们可以这么写: ‘you/’re right’; 另外:你可以 google.com搜索 转义序列表 。 字符串的简单操作例子: var a = "cssrain"; var b = a.charAt(a.length-1); // 从字符串a中截取最后一个字符。  输出:n var c = a.substring(0 , 2);  // 从字符串a中截取第1,2个字符。输出:cs var d = a.indexOf('s');   // 从字符串a中查找第一个s出现的位置。输出:1   从例子可以看出,基数都是从0开始的。 var e = a.substring( a.length-1 ); //可以看出,substring第2个参数不写的话, //默认 是到最后。 var f = a.substring( a.length-1 , a.length);//等价于 3):数字跟字符之间的转换:数字转字符: var number_to_string = number + “ ”; //方法1:添加一个空的字符串。 var number_to_string =String(number); //方法2:使用String()函数。 var number_to_string =number. toString(); //方法3:使用toString()函数。注:toString()方法默认是以10进制转换。如果要使用8进制转换可以 这么写: number. toString(8); 字符转数字: var string_to_number = string – 0 ; //方法1: 字符串减去0。 var string_to_number = Number(string) ; //方法2:使用Number ()函数。 var string_to_number = parseInt(string) ; //方法3:使用parseInt ()函数。方法1中不能 用string+0 ; 这样会导致字符串拼接,而不是类型转换。方法2 中的Number函数转换,比较严格。比如: var a = "19cssrain86"; var b = Number(a);  //输出NaN. 如果我们使用方法3。 var c = parseInt(a); //输出 19 可以看出parseInt()会自动忽略非数字的部分。 parseInt()只取整数部分,忽略小数部分。 parseFloat()会把小数部分也取到。和toString()一样,parseInt也有进制,默认是10进制。如果想使用8进制,可以这么写: parseInt( “077” , 8 ); // 输出63 = 7 * 8 + 7 当字符以0开头的时候,我们必须把 第二个参数 指明,不然js可能会以8进制去转换。 4):布尔类型:布尔在数字环境中:true  转换为  1  ,false  转换为  0  。在字符环境中:true  转换为  “true”  ,false  转换为  “false”  。布尔转换: var x_to_Boolean = Boolean(x); //方法1:使用Boolean ()函数。 var x_to_Boolean = !x; //方法2:使用 感叹号。 5):函数的定义:方法1:普通定义 function square(x){       return x*x; } 方法2:函数直接量定义 var square = function(x){  return x*x; }   //推荐使用方法3:构造参数 var square = new Function(“x”,”return x*x;”);   //效率低 6):对象:如果有一个名为 cssrain 的对象 , 他有一个高度height的属性。那么我们可以这么引用: cssrain.height; 还可以使用关联数组定义:cssrain[“height”]; 创建对象:方法1: var point = new Object(); point.x = 3; point.y = 5; 方法2:使用对象直接量 var point = {x:3 , y:5 } 当然json也可以咯。 对象在字符的环境下,会调用toString()方法。数字环境下,会调用valueOf()方法。布尔环境下,非空对象为true; 7):数组:常规数组:以非负整数做为下标。image[0] 关联数组:以字符做为下标。如:image[“width”] js不支持多维数组,但数组里面可以嵌套数组。 创建数组:方法1: var a = new Array(); a[0] = “1”; a[1] = 2; a[2] = { x:1, y:3}; 方法2: var  a  =  new Array(“1” , 2 , {x:1,y:3} ); 注意下:如果只传了一个参数;比如var a = new Array(3); 那么它是表示:3个未定义元素 的 新数组。方法3:使用数组直接量 var  a =[“1” ,  2 , {x:1 , y :3 }]; //注意外面的括号  ,  不是花 括号。 8):null和undefined: null表示无值; undefined : 使用一个并未声明的变量,或者使用了已经声明的变量但未赋值或者使用了一个并不存在的属性。 undefined==null 如果要区分:可以使用===  或者typeof运算符。 3/新手常遇到的疑惑: var s =”you are right”; var b = s.substring(s.lastIndexOf(“ ”)-1 , s.length); 疑惑:s是对象还是字符串,为什么字符串会有方法呢?回答:s是字符串。之所以有方法 ,是因为 string类型 有一个相应的对象类(String)。同样数字和布尔都有相应的Number , Boolean类。 Js会内部进行相应的包装对象。String对象就替换了原始的字符串。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值