ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JavaScript基础

2022-07-26 19:02:50  阅读:157  来源: 互联网

标签:10 console log JavaScript 基础 number var false


JavaScript的简介

JavaScript诞生于1995年;(Netscape出品)
JavaScript是一种轻量级的语句,单线程的弱语言 ,同时它也是一个web开发的脚本语言;

(浏览器的脚本语言,可以在有浏览器的地方编译运行)

JavaScript构成:ECMAScript BOM DOM

ECMAScript:基本语法和相关对象

BOM:浏览器对象模型,提供与浏览器交互的方法和接口,操作浏览器

DOM:文档操作模型,提供访问和操作网页HTML内容的方法和接口

JavaScript基本用法

书写方式

1.书写在script标签里面(常用)

<script>
    //语句书写
    console.log('hello world')
</script>

2.书写js文件里(推荐)

定义一个js文件(index.js)

console.log('hello world')

引入js文件

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

3.书写对应的时间属性里面(比较少用)

<a href="javascript:void()">去百度</a>
<a href="#" onclick="alert('hello world')"></a>
变量定义

使用var关键字声明

//var 变量名 = 值
var number = 10
变量名的书写规范

1.只能是对应的数字、字母、下划线和美元符$组成,不能以数字开头

2.一般采用驼峰命名法(首字母小写,后面单词字母大写——hardWork)

3.不能使用关键字或保留字(只用之前关键字的引用空间)

4.变量名命名尽量见名思意

5.普通变量首字母小写,常量全大写(const)

js使用的关键字和保留字如下图所示:

1658741865097

注释——解释这句话,不会被编译

1.单行注释 —— //

2.多行注释—— /* */

JS的数据类型

1.number:整型和浮点型,涵盖所有的数值 (NaN(Not a Number)——非数值)

number保留几位小数的方法:toFixed
var number2 = 10
//默认的大小16位 整数位也是16位 超出不能显示(问题)
console.log(number2/number1);
//保留小数(方法会优先调用) 转成字符串
console.log((number2/number1).toFixed(3));

2.string:字符串类型(单引号和双引号)

3.boolean:true和false

4.null:空类型

5.undefined:未定义

object (对象类型 引用数据类型)
使用typeof来查看对应的类型(基本数据类型返回的是对应的类型名 null类型object)

number string boolean object undefined function

//类型查看 typeOf 查看对应的类型的 null显示的是object (undefined是对应的null的对象扩展)
var num = 123;
console.log(typeof num);
JS数据类型转换
1.number类型转为string类型

string>number 隐式转换 toString方法

//将对应number类型转为string类型
var str1 = number1.toString()
2.string转为number ——显示转换

1.Number方法(直接转number类型)

2.使用parseInt方法(转整型)

3.使用parstFloat方法 (转小数)

var str2 = "1a123.12a"
console.log(Number(str2));//当你将一个内容转为的数值过程中无法被解析就会出现NaN
//从前到后拿出里面的数值 前面没有数值变成NaN
console.log(parseInt(str2));
console.log(parseFloat(str2));
3.string转为对应的boolean类型

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

var str = "abc"
var b = Boolean(str) //true
var b1 = Boolean('') //false
4.number转为boolean类型

number转布尔 非0和非NaN则为true NaN和0就是false

var number1 = 10
console.log(Boolean(number1))//true
console.log(Boolean(0))//false
console.log(Boolean(NaN))//false
5.undefined和对应的null转为boolean——false
var un
console.log(Boolean(un)) //false
console.log(Boolean(null)) //false
6.boolean类型转为number类型

false —— 0

true —— 1

console.log(Number(true)) //1
console.log(Number(false)) //0
7.将对应的undefined和null转为number

undefined —— NaN

null —— 0

var un
console.log(Number(un)) //NaN
console.log(Number(null)) //0
isNaN 是NaN返回true不是返回false
var a = 10
console.log(isNaN(a)) //false
var str = 'abc'
console.log(isNaN(Number(str)))//true
无穷大与无穷小
//无穷大
var max = Infinity
//无穷小
var min = -Infinity

JS运算符与表达式

1.算术运算符

+,-, *, /, %(取余数),++ ,--

***自增和自减的前后置区别:

​ 前置:先执行对应的自增或者自减,再执行代码;

​ 后置:先执行代码,再执行对应的自增或自减;

2.逻辑运算符

&& 与、|| 或、! 非

3.比较运算符

<、>、<=、>=、=(全等 两个值完全一样)、!= 、!==

== 比较值是否一致(值属于常量不能变的,唯一的地址)

=== 除了判断值还要判断数据类型(证明这两个内容是否一个内容)

console.log("123"==123);//true
console.log("123"===123);//false
4.赋值运算符

=、+=、-=、*=、/=、%=

var j = 10
j+=100 //j=j+100
j/=10 //11
j*=5 //55
console.log(j);
4.位运算——转为二进制再进行位的变化运算

右移 >> 左移 << 去掉小数 ~~

5.三元运算符(三目运算符)

表达式(boolean类型表达式)? true的内容 :false的内容

var a = 10
var b = 20
a>b?10:20 //20
'123a'/10?'hello':'hi'//hi 

进制转换 —— 二进制、八进制、十进制、十六进制

在计算机处理器内部只认识二进制

十进制转二进制、八进制、十六进制 —— 除以对应的进制数取余(toString)
//将10进制的数值转为对应的8 或者 16进制的字符串
//toString
var number = 24
//将对应的10进制转为8进制
console.log(number.toString(8));
//将对应的10进制转为16进制
console.log((106).toString(16));
二进制、八进制、十六进制转十进制 —— 根据对应的位数乘以对应的进制数的次方,再将所得数相加(parseInt parseFloat)
//将对应的8 或者 16进制等转为10进制的数值
var number = "30" //八进制的内容
//将对应的八进制30转为10进制
console.log(parseInt(number,8));
var str = '6a'
console.log(parseInt(str,16));
//前面写了0x表示当前是16进制数
var str = '0x6a'
console.log(parseInt(str));
//前面写0的情况下 他会转为对应的8进制或者是10进制 具体看后面的参数
var str = '061'
console.log(parseInt(str,8));


toString方法和对应的parseInt方法 里面的参数可以填可以不填 不填默认转为10进制

标签:10,console,log,JavaScript,基础,number,var,false
来源: https://www.cnblogs.com/CHENNGE/p/16522168.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有