初识JavaScript

初识JavaScript

一、JavaScript的概述

JS是一种具有函数优先(在计算机的认知中函数在代码的第一行)的轻量级(使用计算机的服务较少,所以一般相关应用的发布时间短和运行性能高),解释性或即时编译型的编程语言(翻译一句执行一句)。JavaScript基于原型编程、多范式的动态脚本语言,并支持面向对象、命令式和声明式(如函数式编程)风格。不依赖于操作系统,仅需要浏览器的支持,具有跨平台性。他是一个弱语言(没有绝对的语法,他的数据类型不是有对应的修饰符来定义,而是根据对应的值来定义,值什么类型变量就是什么类型)。常作为开发Web页面的脚本(可以理解为一个指令集和的文本,计算机根据脚本写的代码执行任务)语言。

由三个内容构成:一、BOM(浏览器对象模型 操作浏览器)。二、DOM(文档对象模型 操作html文档的)。三、ECMAScript(语法规范es3(兼容各大主流浏览器)es5(兼容普通版本浏览器)es6(兼容相关的高版本浏览器))

二、JavaScript书写方式

   1、内嵌式

<div onclick="alert(123)">点我弹窗</div>

     2、内联式

<script>

    var a = 1

    var b = 'a'

    alert(a)

</script>

3、外联式

 <script src="./js/index.js"></script>

三、变量定义

var 变量名 =  值

var a = 2

变量得到命名规范:

  1. 见名知意
  2. 不能使用关键字或保留字

3.驼峰命名法(第一个首字母小写,之后的首字母大写)

        var userName = 值

4.不能以数字开头(可以由数字,字母,下划线和$符号组成)

        var user_name = 值

四、数据类型

基础数据类型(值类型 不能变得(常量)):

  1. 数值类型number       var number = 2
  2. 字符串类型string      var str = 字符串类型
  3. 布尔类型boolean(true真false假)

   var isTrue = true

        4.未定义类型undefined(当前未给值) undefined是null的派生

var a

console.log(a)

       

        5.空类型null只有在null值的情况下才为null类型

var isNull = null

console.log(isNull)

引用数据类型(对象地址分配的 可以变的):

Object(对象)  array(数组)   function(函数) .....

判断数据类型: typeof  变量   //返回对应的数据类型

var num = 10

var str = '哈哈'

var i  = true

var a

var b = null

console.log(typeof(num))

console.log(typeof(str))

console.log(typeof(i))

console.log(typeof(a))

console.log(typeof(b))

console.log(typeof typeof(b))

typeof null 返回的是一个object的字符串,其他返回的是对应的类型的字符串

function 返回的是function ,object返回的是object ,array返回的也是一个object

五、注释

//  单行注释    快捷键Ctrl + /

/*

    多行注释    快捷键shift + alt + a

*/

六、类型转换

数据类型大的转小的是显性转换,小的转大的是隐式转换

(string > number > boolean > undefined)

任意类型转字符串toString方法调用(undefined不能调用)

String方法调用

var num = 10

var str = num.toString()

var str1 = String(num)

console.log(typeof(str))

console.log(typeof(str1))

任意类型转number类型:使用number方法转换

使用parseInt或者parseFloat(截取)

var str = '123'

var num = Number(str)

console.log(num)

var str1 = '12.1a3a'

var num1 = Number(str1)

console.log(num1)

console.log(typeof(num1))

var num2 = parseInt(str1)

console.log(num2)

var num3 = parseFloat(str1)

console.log(num3)

var boo = true

var num4 = Number(boo)

console.log(num4)

var a 

var num5 = Number(a)

console.log(num5)

var b = null

var num6 = Number(b)

console.log(num6)

任意类型转number类型无法转换会出现NaN ,NaN属于数值类型

null转number结果为0 ,undefined转number结果为NaN

isNaN专门判断当前是否是NaN类型,出现NaN返回true 没有返回false

console.log(isNaN(NaN))

转换为boolean类型:Boolean方法

var str = 'kakf'

console.log(Boolean(str))

var num = 0

console.log(Boolean(num))

console.log(Boolean(undefined))

console.log(Boolean(null))

string类型转boolean非空就是true 空字符串为false

number类型转boolean 非0和非NaN就是true , 0和NaN为false

undefined和null转换boolean都是false

number的特殊值:NaN 当你需要转为number类型的时候转换不成功出现的值 无穷大 Infinity

七、运算符及表达式

(1)、算数运算符:+ - * / % ++ --

++自增

--自减

++前置和后置的区别

前置先执行 先++再执行其他的代码

后置后执行 先走了对应的其他代码以后再执行++操作

取余的规则

大的数值取余小的数值得到是余数 

小的数值取余大的数值得到的是他本身

字符串进行加法运算会进行字符串的拼接 得到的是字符串

其他的任意操作都会先转为对应的number类型再进行运算

NaN做任意运算返回的结果都是NaN

  • 、逻辑运算符:&&  ||  !

&&逻辑与:两个都为true,结果方为true,否则为false

||逻辑或:只需其中一个为true,结果为true

!逻辑非: 取反操作,真变假,假变真,返回的结果是一个boolean类型

  • 、条件运算符: > < = >= == === != !==

返回的是一个boolean类型的值(true或false)

1、undefined==null为true,undefined===null 为false

2、字符串和字符串相比较那么对应的比较的ascii码(先比首字母,大写字母比小写字母要小,排在前面比后面的要小)

3、在对应的非数值的比较上会自动转为数进行比较

4、NaN==NaN为false 在正常比较中没有取反符号的情况下出现NaN就是false

5、恒等是基于==之上的 ==为false对应的恒等必定为false(==只比较值 ===要比类型)

(四)、赋值运算符:= += -= *= /= %=

(五)、位移运算符:<<   >>

位移运算是将对应的数值转为二进制进行移位运算(将一个数值转为二进制使用除二取余法)

console.log(2<<2)

八、进制转换

常用的进制分为 2进制 4进制 8进制 16进制(颜色设置 最的值为f)

将对应的10进制转为其他进制得到的是字符串 toString

将其他进制转为10进制得到就是数值 parseInt

var p = 8

console.log(p.toString(2))

console.log(p.toString(16))

var str = '1f'

console.log(parseInt(str,16))

var o = 1000

console.log(parseInt(o,2))

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值