JS学习笔记(一)——基础知识

1. JavaScript基础知识

写在前头的话,“JS学习笔记”是观看B站“【尚硅谷】JavaScript基础&实战丨JS入门到精通全套完整版”整理而成的。

1.1 输出语句

  1. 向浏览器写内容:alert()
  2. 向计算机页面(body)写内容:document.write()
  3. 向控制台写内容:console.log()

1.2 JS语句编写位置

  1. 可以编写到script标签中
<script type="text/javascript">  
//编写js代码  
</script>
  1. 可以编写到标签的指定属性中
<button onclick="alert('hhh');">submit</button>
<a href="javascript:alert('aaa');">submit1</a>
  1. 可以将代码编写到外部的js文件中,然后通过script标签将其引入。script标签一旦用于引入外部文件了,就不能在编写代码了,即使编写了浏览器也会忽略 ,如果需要则可以在创建一个新的script标签用于编写内部代码 。
<script type="text/javascript" src="文件路径"></script>

1.3 基本语法

  1. 严格区分大小写
  2. JS中每条语句以;结尾。如果不写;,浏览器会自动添加,但是会消耗一些系统资源, 而且有些时候,浏览器会加错。
  3. js函数声明不需要;,但是赋值语句要加;
function functionName(arg0,arg1,arg2){  
//函数声明  
}  
var functionName=function(arg0,arg1,arg2){  
//函数表达式  
};(注意分号)

1.4 字面量和变量

  1. 字面量:不可改变的值
  2. 变量:保存字面量,值可任意改变
var a; //声明变量
a=1;  //变量赋值
var b=2; //同时进行
  1. 标识符:JS中所有的可以自主命名的内容
  1. 可以含有数字、_、$
  2. 不能含有数字
  3. 不能是JS中的关键字和保留字
  4. 驼峰命名法,xxxYyyZzz

1.5 数据类型

1.5.1 简述
  1. 数据类型是指字面量的类型
  2. JS中共有六种数据类型,5基本+1引用
    • String 字符串
    • Number 数值
    • Boolean 布尔值
    • Null 空值
    • Undefined 未定义
    • Object 对象(引用数据类型)
  3. typeof运算符检查数据类型
var b = "123";
var c = null;
console.log(typeof b); //输出string
console.log(typeof c); //输出object,null表示空对象
1.5.2 详述
  1. String字符串:需要使用引号引起来,单引号或双引号均可。同类型引号不能嵌套。
// '\'表示转义字符
\'  ==> '  
\"  ==> "  
\n  ==> 换行  
\t  ==> 制表符  
\\  ==> \

//输出字符串
alert("str");
//输出变量
alert(str);
  1. Number:JS中所有的整数和浮点数都是Number类型。使用typeof检查一个Number类型的数据时,会返回”number”。(包括NaN 和 Infinity)

Number.MAX_VALUE JS中能表达的最大值
正无穷:Infinite
负无穷:-Infinite
非法数字:NaN

1.5.3 数据转换
  1. 转换string类型

    • 方式一:调用被转换数据的toString()方法
    var a = 123;
    a = a.toString();
    //不适合null和undefined
    
    • 方式二:调用String()函数
    var a = 123;  
    a = String(a);
    //对于Number Boolean String都会调用他们的toString()方法来将其转换为字符串,对于null值,直接转换为字符串”null”。对于undefined直接转换为字符串”undefined”
    
    • 方式三:隐式的类型转换
    var a = true;  
    a = a + "";
    //原理和String()函数一样
    
  2. 转换为Number类型

    • 方式一:调用Number()函数
    1. 字符串 > 数字
    • 如果字符串是一个合法的数字,则直接转换为对应的数字
    • 如果字符串是一个非法的数字,则转换为NaN
    • 如果是一个空串或纯空格的字符串,则转换为0
    1. 布尔值 > 数字
    • true转换为1
    • flase转换为0
    1. 特殊类型 > 数字
    • null转换为0
    • undefined 转换为NaN
    • 方式二:使用一元的+来进行隐式的类型转换

    • 方式三:调用parseInt()parseFloat()函数,这两个函数专门用来将一个字符串转换为数字的。
      如果对非String使用parseInt()parseFloat(),它会先将其转换为String,然后再操作。
      可以在parseInt()函数中传递一个第二参数,来指定数字的进制

var a = "123.456px";
var c = "123px56";
var b;
b = parseInt(a); //输出number类型123
b = parseInt(a,8); //输出值83
b = parseInt(c); //输出number类型123
b = parseFloat(a); //输出number类型123.456
  1. Boolean转换

    • 方式一:使用Boolean()函数

      • 转换情况:
        • 字符串 > 布尔:除了空串其余全是true
        • 数值 > 布尔:除了0和NaN其余的全是true
        • null、undefined > 布尔:都是false
        • 对象 > 布尔:都是true
    • 方式二:隐形转换,为任意的数据类型做两次非运算,即可将其转换为布尔值

    var a = "hello";
    a = !!a;
    

1.6 运算符

1.6.1 算数运算符
  1. 包括:+、-、*、/、%

  2. 除了加法以外,对非Number类型的值进行运算时,都会先转换为Number然后在做运算。
    而做加法运算时,如果是两个字符串进行相加,则会做拼串操作,将两个字符连接为一个字符串。
    任何值和字符串做加法,都会先转换为字符串,然后再拼串。

var c = 123;
c = c + ""; //加法拼串,用来string隐式转换
console.log(typeof c); //输出string
console.log(c); //输出123
console.log("c = "+c); //输出c = 123

var b = "123";
b = b - 0; //number隐式转换
1.6.2 关系运算符
  1. 任何值和NaN作任何比较都是false
  2. 如果比较的两个值都是字符串,此时会比较字符串的Unicode编码,而不会转换为Number。 比较时,一位位比,若两位一样,则比较下一位,可以借用它来进行英文排序。
  3. 在字符串(JS)中使用转义字符输入Unicode编码,\u四位编码;在网页(body)中使用Unicode编码,&#编码,编码为十进制。
1.6.3 相等运算符
  1. ==,undefined衍生自null,所以undefined==nulltrue;NaN不和任何值相等,包括本身。
  2. ==!=会自动转换类型;===!==不会做类型转换。
  3. switch…case…语句在执行时,会依次将case后的表达式的值和switch后的表达式的值进行全等比较,
    如果比较结果为false,则继续向下比较。如果比较结果为true,则从当前case处开始向下执行代码。(不加break时,判true的case后的所有代码都会执行)
    如果所有的case判断结果都为false,则从default处开始执行代码。
  4. break关键字,会立即终止距离他最近的那个循环语句。continue跳过本次循环。
  5. console.time("计时器的名字")开启计时器,console.timeEnd("计时器的名字")停止计时器。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值