JavaScript学习笔记1

本文详细介绍了JavaScript中的数据类型,包括基本语法要求、字面量与变量、标识符、数据类型转换以及算术和逻辑运算符的使用。特别强调了在不同类型之间的转换规则,如使用toString()、Number()、Boolean()函数进行转换,以及如何处理字符串、数字和布尔值之间的相互转换。此外,还讨论了二元和一元运算符在不同类型数据上的应用。
摘要由CSDN通过智能技术生成

JavaScript

一、编写位置
  1. 标签内部
    不推荐使用,结构与行为耦合,不方便维护。
<button type="button" onclick="alert('12345');">按钮</button>
<a href="javascript:alert('123456');">超链接</a>
  1. script标签中
<script type="text/javascript" > 
  document.write("123");
  alert("13");
</script>
  1. script标签引用
<script type="text/javascript" src="Untitled-1.js"> </script>
二、基本语法要求
  1. JS中严格区分大小写。
  2. JS中每一条语句以分号结尾。
    如果不写,浏览器会自动添加,但是会消耗系统资源,而且有的时候,浏览器会加错分号,所以在开发中必须加分号。
  3. JS中会忽略多个空格和换行,利用空格和换行对代码进行格式化。
三、字面量和变量
  1. 字面量:一些不可改变的值,相当于常量,字面量可以直接使用,但一般不会直接使用。
  2. 变量:保存字面量。声明:js中使用var关键字来声明一个变量。
四、标识符
  1. JS中可以自主命名的都可以成为标识符,例如:变量名、函数名、属性名等。
  2. 命名标识符所遵循的规则:不能以数字开头;标识符不能是关键字或保留字;可以含数字字母下划线等;一般采用驼峰命名法–首字母小写,每个单词开头字母大写,其余字母小写。
  3. JS底层保存标识符时实际上是采用Unicode编码,所以理论上所有utf-8中含有的内容都可以作为标识符,中文:可以但没必要。
五、数据类型
  1. String 字符串
    a. 在JS中的字符串必须使用引号引起来;使用双引号或单引号都可;
    b. 相同类型引号不能嵌套,双引号中不能嵌套双引号使用,单引号不能嵌套单引号使用。
        // 转义字符\的使用
        var b;
        var c;
        b="他说:\"今天天气真好。\"";
        c="\\";
        console.log(b);
        console.log(c);
  1. Number 数值
    a. JS中所有的数值都是number类型。包括整数和浮点数。
    b. var b=123;与var c=“123”;不同,b为数值,c为字符串。可以用typeof检查一个变量的类型。
    c.JS中可以表示的最大数值为Number.MAX_VALUE(Number.MIN_VALUE,大于0的最小值),如果超过了最大值,则会返回一个Infinity(-Infinity)表示正(负)无穷。(Infinity是一个字面量,使用typeof检查会返回number)
    d. NaN是一个特殊的数字,表示Not a Number,使用typeof检查数据类型会返回Number。
    e.在JS中整数的运算基本可以保持正确,如果使用JS进行浮点运算,可能得到一个不精确的结果,所以不能使用JS进行精确度很高的运算
  2. Boolean 布尔值
    a. true和false都是字面量,用来做逻辑判断
  3. Null空值
    a.null专门用来表示一个为空的对象,使用typeof检查一个null值时,会返回object.
  4. Undefined未定义
    a.当声明一个变量但并未个变量赋值时,它的类型就是undefined。使用typeof检查一个undefined值时,会返回object.
  5. Object对象(引用数据类型)
六、强制类型转换

强制类型转换是指将一个数据类型强制转换为其他的数据类型,主要是将其他的数据类型转换为String、Number、Boolean。

  1. 将其他数据类型转化为String
    a.方法一:调用被转换数据类型的toString()方法。注意:该方法不会影响到原变量,它会将转换的结果返回;null和undefined这两个值没有toString() 方法,如果调用会报错。
    b.调用String()函数,并将被转换的数据作为参数传递给函数。
    使用String()函数做强制数据转换时,对于number和Boolean实际上就是调用的toString()方法,但对于null和undefined数据类型,它是将null直接转换为“null”,将undefined直接转换为“undefined”。
//a.方法一
<script type="text/javascript">
       var a=123;
       a.toString();
       var b=a.toString();
       console.log(typeof a);
       console.log(typeof b);
    </script>
//b.方法二
<script type="text/javascript">
        var a=123;
        a=String(a);
        console.log(typeof a);
     </script>
  1. 将其他数据类型转换为Number
    a. 使用Number()函数
    字符串转数字:1.如果是纯数字的字符串,则可以直接转换为数字;2.如果字符串中有非数字内容,则转换为NaN;3.如果字符串是一个空串或者全是空格的字符串,则转换为0。
    布尔型转数字:true转换为1,false转换为0。
    null转换为0,undefined转换为NaN.
    b. parseInt() 将一个字符串中的有效整数内容取出来转换为Number;parseFloat() 与 parseInt() 类似,不同的是它可以获取有效的浮点数。如果多非String使用parseInt() 或parseFloat() ,它会将其转换为String然后再操作 。

在JS中,如果需要表示16进制的数字,则需要以0x开头;如果需要表示8进制的数字,则需要以0开头;如果需要表示2进制的数字,则需要以0b开头,但不是所有浏览器都支持。

像“070”这种类型的字符串,当使用强制类型转换转换为number时,有些浏览器会当成8进制解析,有的会当成10进制解析。
解决方法:可以在parseInt()中传递一个第二个参数,来指定数字的进制。a=parseInt(a,10);

  1. 将其他数据类型转换为Boolean
    调用Boolean()函数
    a.数字转换为布尔型:除了0和NaN,其余都是true;
    b.字符串转换为布尔型:除了空串,其余都是true;
    c.null和undefined都会转换为false。
    d.对象也会转换为true。
七、二元运算符

运算符也称操作符,通过对一个或多个值进行运算,并获取运算结果。
比如:typeof就是运算符,可以获取一个值的数据类型,它会将该值的类型以字符串的形式返回。
算术运算符:当对非Number类型的值进行运算时,会将这些值转换为Number然后再运算(String加法除外,字符串会将数值转换为字符串并做拼串操作)。任何值与NaN做运算都是NaN。

  1. +:对两个值进行加法运算,并将结果返回。如果是字符串相加,则会将两个字符串拼接成一个字符串然后返回。
//利用字符串加法这一特性可将一个任意的数据类型与空串相加来进行类型转换。
//这是一种隐式的转换,由浏览器自动完成,实际上也是调用String()函数
<script type="text/javascript">
        var a=123;
        a=a+"";
        console.log(typeof a);
     </script>
  1. 任何类型值做减法乘法除法都会自动转换为Number再做运算。
//利用这一特性进行隐式数据类型转换,可以通过-0,、1、*1来将其转换为Number满园里和Number()函数一样。
<script type="text/javascript">
        var a="123";
        a=a-0;
        console.log(typeof a);
     </script>
  1. 取余运算%
八、一元运算符
  1. 对Number:正号+:不会对数字产生任何影响, 负号-:可以对数字进行负号的取反。
  2. 对非Number:它会先转换为number,然后再运算。
//利用此特征也可将其他任意数据类型转换为Number
<script type="text/javascript">
        var a="123";
        a=+a;
        console.log(typeof a);
     </script>

3.自增和自减(学过了)
a++和++a
b=a++; b=a;a=a+1;
b=++a;a=a+1;b=a;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值