本文主要是介绍js-计算机基础、js语法、变量,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
(一)计算机基础
一 数据存储单位
二 程序运行
cpu从内存条中读取数据
三 js简介
js实在客户端上运行的脚本语言。(解释性语言:边解释边执行)
脚本语言:不用编译,运行过程中由js解释器(js引擎)朱行来进行解释并执行
现在也可以基于node.js进行服务器端编程
四 js作用
五 浏览器执行js的过程
浏览器分为两部分:渲染引擎和js引擎
- js引擎会逐行解释源码转换成机器语言,然后由计算机执行
六 js的组成
三部分
1.ECMAScript:JavaScript的语法标准。包括变量、表达式、运算符、函数、if语句、for语句等。
2.DOM:文档对象模型(Document object Model),
-
DOM指页面,操作网页上的元素的API,对页面上各种元素进行操作(大小、位置、颜色)。比如:让盒子移动、变色、轮播图等。
-
内容是DOM。就是把文档当做一个对象看待
-
DOM中的顶级对象为document。document也是在window中保存的。
3.BOM:浏览器对象模型(Browser Object Model),
-
对浏览器窗口进行操作
-
操作浏览器部分功能的API。比如:让浏览器自动滚动、弹出框、控制浏览器跳转、获取分辨率等
-
BOM中的顶级对象为window(窗体)
七 标识符、关键字、保留字
1.标识符
定义:指开发人员为变量、属性、参数取的名字
-
标识符不能是关键字或者保留字
-
变量名和函数名必须要有意义。变量名字一般用名词,函数名字一般用动词。
2. 关键字
定义:js本身使用了的字
比如:
3.保留字
定义:预留的关键字
比如:
八 js语法规范
var i = 1;//=为操作符
(二)js语法
一 js书写位置
1.行内
2.内嵌(常用)
在html标签的<body>标签中放入
<script>
这里输入代码
</script>
3.外部
在body中,<script src="tool.js"></script>
(引用外部 JS文件的 script 标签中间不可以再写代码)
二 注释和语法
1.js推荐使用单引号
js对换行、缩进、空格不敏感,每一句语句都以分号结尾
js严格区分大小写
2.js的注释
快捷键ctrl+/
(1) 单行注释 //
(2)多行注释
/*
多行注释1
多行注释2
*/
三 js输入输出语句
1)prompt
-
prompt(‘这里写输入框中要显示的文字’) 会返回用户输入的内容。
- 我们可以用一个变量,来接收用户输入的内容。不耽误弹出框的显示,且可以存储变量方便后面用。
var a=prompt("请输入balabala");
console.log(a);
-
prompt()语句中,用户不管输入什么内容,都是字符串(string型)
因此如果之后想使用用户输入的数字,一定记得parseInt或者parseFloat
2)console.log
-
快捷键:直接写log然后tab会出console.log();
3)alert
alert("欢迎!请按“确定”继续。");
(三) 变量
1.声明变量
直接用var
es6后 可以用const 声明常量,let声明变量
(1)变量的初始化:声明一个变量并赋值
var a=100;
const b=hello;
let b=world;
let a='';
-
同时声明多个变量时,只需要写一个 var, 多个变量名之间用英文逗号隔开
var name='mhhhhh',age=188888,number=1;
var a;
console.log(a);//打印结果undefined
2.变量的命名
(1)大小写敏感,a和 A是两个变量
(2)变量命名规则
必须以字母、下划线、$开头
不能有空格
3.交换两个变量步骤
(0)声明空变量
(1)其中第一个值给空变量先存着(2)第二个变量把值赋给第一个变量(3)temp把存的值赋值给第二个变量
(四)变量的数据类型
js中数据类型分为两大类:简单数据类型、引用数据类型
一.简单数据类型分为5类:
String 字符串、Number 数值、Boolean 布尔值、Null 空值、Undefined 未定义、symbol(es6新增)
除了这五种,其他的都属于对象(引用类型)
1.number数字型
- number分为整型和浮点型
- 常见进制:二进制、八进制、十六进制
八进制:前面数字加0表示八进制,比如010表示8,console.log会自动输出十进制
十六进制:0~9 a~f,前面写0x表示十六进制。0xa表示10
NaN:
当计算结果不是个数字时,显示NaN
NaN 与任何值都不相等,包括 NaN 本身。
任何值和NaN做任何比较都是false。
- isNaN(想判断的东西)方法用来判断是否为非数字。如果不是数字则返回true,是数字返回false
2.string字符串型
用单引号或者双引号引起来的,最好用单引号
-
字符串嵌套:可以双引号包含单引号,可以单引号包含双引号。
- 声明一个空字符串:var str=‘';
-
转义符:在字符串内想换行等,要用转义符:
\作为转义字符, 表示一些特殊符号时可以使用\进行转义:
\r 表示回车
长度:str.length检测字符串长度
拼接:用+号。
拼接规则:相加时只要有字符串,最后输出的都是字符串。(数值相加,字符相连)
-
字符串要想和变量 一起用,要用+号或者,号连接
- prompt()和表单获得的都是字符串
3.boolean布尔型
只有true和false
- 布尔值为true的变量,在计算时当做1。false当0.
4.undefined
-
任何数据类型和 undefined 运算都是 NaN。
eg:10 + undefined 结果为 NaN。
-
函数没有return语句,即没有返回值,输出时返回undefined
-
调用函数的时候如果没有传参,那么输出undefined
function foo(name){
console.log(name);
}
foo();
null 的变量与数字相加,返回这个数字(null 可看做 0 运算)
eg:10 + null 结果为 10。
null == undefined 的结果为 true
6.typeof来检测变量的数据类型
语法: typeof a
一些特殊的:
typeof NaN也是一种特殊的数字 |
number(NaN也是一种特殊的数字)
|
typeof 方法 |
function |
typeof null |
object(null代表空对象) |
7.字面量,就是常量。
字面量有3种:数字 、字符串、 布尔字面量
1.alert(886);数字不用加引号
2.console.log('886');此时886就变成了字符串
3.if(true){
console.log('如果为真就执行这里的代码');
}
二.引用数据类型(引用类型):
(五) 数据类型的转换
一.显示类型转换
1.其他类型转换为字符串类型
(1)toString()方法:变量转换为字符串
语法:变量.toString()
-
该方法不会影响到原变量,它会将转换的结果返回。
-
null 和 undefined 这两个值没有 toString( )方法
-
Number 类型的变量,在调用 toString( )时,可以在方法中传递一个整数作为参数。此时它将会把数字转换为指定的进制,如果不指定则默认转换为 10 进制。
var a = 255;
a = a.toString(2); // 转换为二进制
console.log(a); // 11111111
(2)String( )方法强制转换成字符型
语法:变量放在括号里
eg:String(a)
(3)用+号强制类型转换(隐式转换)
原理:与字符串拼接的结果都是字符串。加号只是用来拼接。
result4 = 100 - '1' ;// 99,减乘除自动转成数字
result5=100+'1';//1001,加号为拼接,为字符串相加
2.其他类型转换成数字类型
(1)parseInt( )
作用:把字符串转换成整数数值型
语法:parseInt(string,radix);
-
string:要被解析的值。
-
radix:可选。从 2 到 36,表示被解析的值的进制,最后转换为十进制的数输出。
eg:
var a = '110';
var num = parseInt(a, 16); // 【重要】
将 a 当成 十六进制 来看待,然后转换成 十进制 的
console.log(num);//272 最后输出的十进制的
进制可以省略:
parseInt(字符串或者字符串型的变量放这里)
eg:parseInt(’78’)
-
parseInt的返回值只有两种可能,不是一个十进制整数,就是NaN。
-
如果参数不是一个字符串,则将其转换为字符串(toString)。
转换规则:
1)转换顺序
-
如果字符串头部有空格,空格会被自动去除。parseInt(' 81'); // 81
-
字符串转为整数的时候,是一个个字符依次转换,如果遇到不能转为数字的字符,就不再进行下去,返回已经转好的部分。parseInt('99aa'); // 99
-
如果字符串的第一个字符不能转化为数字(后面跟着数字的正负号除外),返回NaN。
parseInt('aa99'); // NaN
parseInt('-99'); // -99
2)
- 如果字符串以0x或0X开头,parseInt会将其按照十六进制数解析。
- 参数以0开头不一定当作十进制还是八进制,因此要制定好才能避免歧义。(虽然es5移除了对八进制的解析)
(2)parseFloat( )
作用:把字符串转换成浮点数数值型
语法:parseFloat(字符串或者字符串型的变量放这里)
eg:parseFloat(’78 .21’)
-
给定值被解析成浮点数。如果给定值不能被转换成数值,则会返回 NaN。
-
如果 parseFloat 在解析过程中遇到了正号(+)、负号(- U+002D HYPHEN-MINUS)、数字(0-9)、小数点(.)、或者科学记数法中的指数(e 或 E)以外的字符,则它会忽略该字符以及之后的所有字符,返回当前已经解析到的浮点数。
-
第二个小数点的出现也会使解析停止(在这之前的字符都会被解析)。
-
参数首位和末位的空白符会被忽略。
- 如果参数字符串的第一个字符不能被解析成为数字,则 parseFloat 返回 NaN。
- 当整数太大以至于不能被转换时将失去精度。
- 解析整数就直接返回整数
(3)Number( ) 强制转换为数字型
作用:string转换为数值型
eg:Number( ’12’)
(4)用- * /来隐式转换为数值型
原理:* / %号只是运算符号,即使写成字符串也会自动转换成数字
eg:’12’-3 结果为数值型的9
3.常见应用
3.其他类型转换为布尔型
语法:Boolean(这里放要转换的类型 )
‘ ',0,NaN,null,undefined时,结果为false。其余情况结果均为true。
-
法2:使用 !!可以显式转换为 Boolean 类型。比如 !!3的结果是true。
这篇关于js-计算机基础、js语法、变量的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!