JavaScript笔记(一)

一  . 引入js  

1.内部标签样式

<body>
<script>这是内部样式</script>
</body>

2.外部样式

<head>
    <script src="./01.js"></script>
</head>

二 . 常用的客户端输出方法 (有四种)

1. 弹出一个输入框,让用户来输入内容。

window.prompt('请输入内容');  //页面中弹出一个对话框

2.在浏览器控制台输出信息

console.log('在控制台输出')

3.在当前窗口弹出一个警告对话框

window.alert('在当前窗口弹出一个警告对话框');

 4.在网页的<body>标记中,显示你写的内容。

document.write('显示在页面当中');

 三 . 基础语言

 标识符:变量,函数,属性,函数参数的名字

1.单行注释 //   ctrl+/
2.多行注释/* */   

变量的命名规则
1.变量名可以包含字母、数字、下划线、美元符号$。
2.<span>变量名不能以数字开头,可以以字母或下划线开头。如:var _name;(正确) var 3abc;(语法错误)</span>
3.变量名不能是系统关键字,如:var、switch、try、case、else、while等。
4.JS中的变量名是区分大小写的。如:name和Name是两个变量

注意:JS中变量的名称一定要有意义,也就是常说的语义化。

如果变量名由多个单词构成的话 建议:
1.“驼峰式命名”:第一个单词全是小写,后面的每个单词首字母大写。如:getUserName(获取用户名);
2.“下划线式命名”:所有单词全小写,中间用下划线连接。如:var get_user_name;
3.匈牙利命名法(Hungarian):在变量名最前面添加相应小写字母来标识变量的类型,后面的单词首字母大写。

四 . 变量 (三种关键字:var  let (const 常量))

概念:是储存信息的容器

语法格式:  变量类型 变量名称 = 存储的数据

var关键字   :声明的变量会自动提升到函数作用域顶部

//反复多次声明同一变量没问题(let下是不能这样操作)
var name ="张三" //定义字符串值为 张三 的 name 变量
var name ="张三"
var name ="张三"
console.log('name')  //控制台打印

let关键字   :声明范围是块作用域

let name ="张三" //定义字符串值为 张三 的 name 变量
let name ="张三"
console.log('name')   //输出会报错  不允许同一块作用域中出现重复声明

声明 let 有暂时性死区

//外部同名变量就不可用
let name ='李四';
function fn(){    //  函数function(先看看下面再说)
    let name = '张三';
    console.log(name)   //这里出现  张三
}
fn() // 调用函数 

const(常量)关键字   :声明常量不允许被改变

const name ="张三" //定义字符串值为 张三 的 name 变量

//声明const常量时必须赋值
//常量:不能改变值
const name ='张三' // 正确声明
const name;        //错误声明

五 . 数据类型

1 . 基本数据类型:一个变量名只能存一个值

数值型-number、字符型-string、布尔型-Boolean、未定义类型-undefined、空型-null。

1.1 数值型-number :变量的值是数值型的 

let num = 123 // 正确
let num = '张三'  // 错误 这不是一个数值 NaN

1.2 字符型-string:用单引号或双引号引起来的一个字符串。

let str = '张三' //正确

1.3 布尔型-Boolean:布尔型又称逻辑型。只要两个值:true(真)、false(假)。用于条件判断。

Boolean("123") //true
Boolean(null) //false   //null为空

1.4 未定义类型-undefined :声明了一个变量 但未给变量  

let a  //只给了声明 没有值  所以为undefined

 1.5 空型-null。

let name = ''   //为空
var a=100;     // 有值  不为空
var a=null;    //将一个null赋给一个变量,用于清除它的值。

数据类型               转换为true的值                    转换为false的值
-------------------------------------------------------------------------
Boolean               true                            false
String                非空字符串                        ""(空字符串)
Number                非零数组(包括无穷值)              0,NaN
Object                任意对象                          null
Undefined             (不存在)                        undefined

2 . 引用(复杂 复合)数据类型:一个变量名能存多个值

数组-array、对象-object、函数-function。

2.1 数组-array

let arr = [1,2,3]  // 中括号括起来的一组数字

2.2 对象-object

let obj = {}  // 以花括号括起来的为对象   万物皆对象

2.3  函数-function:函数是一个工具可以把重复的代码进行封装多次使用

函数声明方式有两种
1.直接使用系统关键字 
function fn(){
  //逻辑代码
}
2.匿名函数的形式
let fn function (){
     //逻辑代码
}

3. typeof():帮助查看数据,括号可以省略

typeof '123'; //String
typeof 123; //Number
//参数
    Undefined //值未定义
    Boolean //布尔值
    String //字符串
    Number //数值
    Object //对象或null (null认为是一个空对象的引用)
    Function //函数
    Symbol //符号
 
//如果typeof未声明的变量,输出为undefined
let b;
typeof a; //undefined  (没有声明)
typeof b; //undefined (b没有被赋值,自动为undefined)

4 . parseInt整数   和  parseFloat浮点型

4.1 parseInt  整数

//执行规则
第一个字符不是数值字符,加号,减号,立即返回NaN,从位置0开始监测
//字符串返回规则
包含数值:
parseInt("F")返回NAN
parseInt("1")返回1
parseInt("12abc")返回12
parseInt("001")返回1,忽略前面的0
parseInt("00.1")返回0,忽略前面的0,检查到.结束转换(自动取整)
parseInt("0xf")返回15,自动将十六进制转换为十进制
空字符串:返回NAN
上述以外的情况:返回NaN
 
//第二个参数用于指定底数(进制数)
parseInt("10",2) //2,按二进制解析
parseInt("10",8) //8,按八进制解析
parseInt("10",10) //10,按十进制解析
parseInt("10",16) //16,按十六进制解析

 4.2  parseFloat浮点型

//字符串返回规则
包含数值:
parseFloat("F")返回NAN
parseFloat("1")返回1
parseFloat("12abc")返回12
parseFloat("001")返回1,忽略前面的0
parseFloat("00.1")返回0.1,忽略前面的0
parseFloat("00.1.1")返回0.1,忽略前面的0,只会识别第一个.第二个无效
parseFloat("3.125e7")返回31250000
空字符串:返回NAN

六 . 逻辑运算符

&&  // 与 并且 两个条件都为真才是真
||  //或两个条件有一个成立,就是真(turn)
!  // 取反值 真的变假 假的变真

七 . 比较运算符

=  代表赋值
== 代表比较   //类型不一样,值一样,结果为false
=== 绝对等于  //类型一样,值一样结果为true

八 . 算数运算符

1、算术运算符:+、—、*、/、%、++、——;
2、赋值运算符:=、+=、-=、*=、/=
3、比较运算符:>、<、>=、<=、==、!=、===

九 .数据类型转换 :把一个数据类型转换成其他数据类型

变量的数据类型转换分为两种

隐式转换:JS会根据运算符自动帮我们将数据类型转换成能够进行计算的类型。

强制转换:我们强制将数据类型转换成我们想要的类型

9.1 隐式数据类型转换

第一种情况:
1.字符串加数字,数字就会转成字符串。
2.数字减字符串,字符串转成数字。如果字符串不是纯数字就会转成NaN。字符串减数字也一样。两个字符串相减也先转成数字。
3.乘,除,大于,小于跟减的转换也是一样。
例子:     
console.log(10+'20') //1020
console.log(10-'20')//-10 number
console.log(10-'one') //NaN not a number   不是一个数字
console.log(10-'101a') //NaN
console.log(10*'20') //200 number
console.log('10'*'20') //200 number
console.log(20/'10') //2 number
console.log('20'/'10') //2 number
console.log('20'/'one') //NaN

第二种情况:
1.undefined等于null
2.字符串和数字比较时,字符串转数字
3.数字为布尔比较时,布尔转数字
4.字符串和布尔比较时,两者转数字
例子:
console.log(undefined==null) //true
console.log('0'==0) //true 字符串转数字
console.log(0==false) //true 布尔转数字
console.log('0'==false) //2个都转成数字

9.2 强制数据类型转换:

1、Boolean() 其他类型强制转成布尔型
2、String() 其他类型强制转成字符型
3、Number() 其他类型强制转成数值型
注意:名称或大小写必须一致

十 . JS- 分支语句

if 语句有三种使用方法:单分支、双分支、多分支

单分支

if(条件){
满足条件时执行的代码
}
// 括号内的条件为true时 执行大括号里面的代码
// 小括号里面的条件若不是boolean类型时 会发生隐式装换转换为boolean类型

双分支:

if(条件){
// 满足条件时执行的代码
} else {
// 不满足条件时执行的代码
}

多分支:

if(条件1){   //先判断条件1,若满足条件1就执行代码1,其他不执行
    代码1     
} else if(条件2) {  //若不满足则向下判断条件2,满足条件2执行代码2,其他不执行
    代码2         
}else if(条件3) {  //若以上条件都不满足,执行else里的代码n
    代码3
}else{   //可以写N个条件
    代码n
 }

十一 . 三目运算符(三元运算符)

比 if 双分支 更简单,有时候也叫做三元表达式   也是双分支语句

语法:  判断条件:要执行的代码一:代码二

条件较多的情况下不建议使用三目运算

含义: 如果条件为真(true),则执行代码一的结果
       如果判断为假(false),则执行代码二的结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值