数字1112怎么写第一天学js

新闻资讯2026-04-21 14:51:45

js介绍
全称JavaScript,简称js,是由网景公司开发,他不属于html语言一部分,但是可以写在前端页面,我们把他叫做脚本语言,类似于后台语言,相比后台少了编译过程,语法比较简单,可以用来制作动画,表单验证,链接后台,页面游戏等
语法
1.字母大小写敏感
2定义字符串要用单双引号引起来
3.每一个语句要以分号结尾
命名规范
1.要以字母开头
2.多个单词以驼峰命名,例如:fontSize
3.内容包含字母、数字、_$
注释
//单行注释/*多行注释*/
写作
<script></script>
写在html里的任何位置都可以
对话框
alert()提示框
confirm()询问框
prompt()输入框
输出语句
document.write()输出标签和文本
document.writeln()输出标签和文本(带空格)
console.log(v)输出到控制台
定义变量
var表示弱类型
var a=123 var b="asd" var c=true
数据类型
基本类型:数字(number)字符串(string)布尔(boolean) null undefined
引用类型:object(对象/引用)
数据类型:数字(number)字符串(string)布尔(boolean) null undefined object
typeof验证的类型:数字(number)字符串(string)布尔(boolean) undefined object function
typeof验证null为object,为什么?
在计算机里存储的都是二级制,例如:
000表示对象,110表示布尔,null在全是0
所以,typeof验证前三位都是0,则表示为object,没有验证null后面的值
运算符
基本运算符
+加-减*乘/除%余数
6/4=1.5因为js下隐式的帮整数和浮点数进行相互转化
11+“12”=1112 因为+除了做运算,也可以操作字符串拼接
“12”-11=1 当数组与其他类型值计算值,先看这个类型能不能转化数字,不能转则是NaN
注意:从页面上接过来的值都是字符串
赋值运算符
= += -= *= /= %= ++ --
a=a+b 可以写成a+=b
前++先自身加1,后参与其他运算; 后++先参与其他运算,后自身加1
比较运算符
== === != !== < > <= >=
==验证值相同,===验证类型也必须相同
!= 比较时,若类型不同,会尝试转换类型。
!== 只有相同类型才会比较
逻辑运算符
&&并且 ||或者 !非
null和undefined区别?
null和undefined是两种数据类型,但是都表示空,在与其他类型参与运算的时候,null会自动转化类
型值,而undefined不会
例如:
11+null=11
11+undefined=NaN
判断
条件运算符(三元表达式)
var变量=判断表达式? true返回的结果:false返回的结果
var s=typeof str=="number"?"这是数字":"这是字符串"
if/else
if(表达式){执行语句}
else if(表达式){执行语句}
......
else{以上条件都不满足,执行}

        //有bug
        var str=prompt("请输入月份")
        if(str>="10" && str<="12"){
            document.write("冬季")
        }
        else if(str>="4" && str<="6"){
            document.write("夏季")
        }
        else if(str>="7" && str<="9"){
            document.write("秋季")
        }
        else if(str>="1" && str<="3"){
            document.write("春季")
        }
        else{
            document.write("请输入正确的月份")
        }

switch
switch(变量){
case 值1:执行语句;break结束;
case 值2:执行语句;break;
......
default:以上条件都不执行才执行
}
        switch(str){
            case "1": case "2": case "3":document.write("春季");break;
            case "4": case "5": case "6":document.write("夏季");break;
            case "7": case "8": case "9":document.write("秋季");break;
            case "10": case "11": case "12":document.write("冬季");break;
            default:document.write("请输入正确月份");break;
        }
parseInt()其他类型转化成整数
parseFloat()其他类型转化成小数
进制转化
十进制和二进制转化
十进制转化二进制
150/2=75余0 75/2=37余1 37/2=18余1 18/2=9余0 9/2=4余1 4/2=2余0 2/2=1余0
1/2=0余1
结果:10010110
二进制转化十进制
10010110=0*2^0+1*2^1+1*2^2+0*2^3+1*2个4+0*2^5+0*2个6+1*2^7
结果:150
二进制与八进制转化
二进制转化成八进制
010 010 110
110=0*2^0+1*2^1+1*2^2=6
010=0*2^0+1*2^1+0*2^2=2
010=0*2^0+1*2^1+0*2^2=2
结果:226
八进制转化成二进制
2/2=1余0 1/2=0余1 10
2/2=1余0 1/2=0余1 10
6/2=3余0 3/2=1余1 1/2=0余1 110
结果10010110
二进制与十六进制转化
二进制转化成十六进制10->a 11->b 12->c
1001 0110
0110=0*2^0+1*2^1+1*2^2+0*2^3=6
1001=1*2^0+0*2^1+0*2^2+1*2^3=9
结果:96
十六进制转化成二进制
6/2=3余0 3/2=1余1 1/2=0余1 110
9/2=4余1 4/2=2余0 2/2=1余0 1/2=0余1 1001
结果:1001 0110
八进制与十进制转化
十进制转化八进制
150/8=18余6 18/8=2余2 2/8=0余2
结果:226
八进制转化十进制
6*8^0+2*8^1+2*842=150
十六进制与十进制转化
十进制转化十六进制
150/16=9余6=96
十六进制转化十进制
6*16^0+9*16^1=150
rgb与十六进制转化
rgb(0,206,209)
0/16=0余0 00
206/16=12余14 ce
209/16=13余1 d1
#00ced1
十六与rgb进制转化
00=0*16^0+0*16^1=0
ce=14*16^0+12*16^1=206
d1=1*16^O+13*16^1=209
rgb(0,206,209)
位操作符
js所有数值都是64位格式存储,计算是会将64位转化成32位的整数,然后执行计算操作,最后再转化回64位,对于有符号整数,第32位为0表示正数,为1表示负数
求一个数的负数,则是计算二进制的补码例如:18的负数时-18
18=0000 0000 0000 0000 0000 0001 0010
先求反码,把0和1互换
1111 1111 1111 1111 1111 1110 1101
在进行对反码+1
1111 1111 1111 1111 1111 1110 1101
                                                      1
1111 1111 1111 1111 1111 1110 1110
结果:-18

1.按位非(not)
求一个数的反码,把O和1互换,例如:var n=~25
0000 0000 0000 0000 0000 0001 1001
1111 1111 1111 1111 1111 1110 0110
结果为-26
⒉按位与(and)
相同位置都为1则变成1,都为0则变成0,不相同则变成0,例如:var n=25&3
25=0000 0000 0000 0000 0000 0001 1001
  3=0000 0000 0000 0000 0000 0000 0011 
      0000 0000 0000 0000 0000 0000 0001
结果为1
3.按位或(or)
相同位置都为1则变成1,都为0则变成0,不相同则变成1,例如: var n=25|3
25=0000 0000 00o0 0000 0000 0001 1001
3=  0000 0000 0000 0000 0000 0000 0011
      0000 0000 0000 0000 0000 0001 1011
结果:27
4.按位异或(xor)
相同位置都为1则变成0,都为0则变成0,不相同则变成1,例如: var n=25^3
25=0000 0000 0000 0000 0000 0001 1001
3=  0000 0000 0000 0000 0000 0000 0011
      0000 0000 0000 0000 0000 0001 1010
结果为26
5.左移
把二进制数整体向左进行移动,空出的位置以0补齐,例如: var n=2<<5
2=0000 0000 0000 0000 0000 0000 0010
移=0000 0000 0000 0000 0000 010[00000]
结果为64
6.右移
把二进制数整体向右进行移动,空出的位置以0补齐,例如: var n=64>>5
64=0000 0000 0000 0000 0000 0100 0000
移=0000 0000 0000 0000 0000 0000 0010
7.无符号右移
把二进制数整体向右进行移动,空出的位置以0补齐,例如: var n=-64>>>5
-64的反码1111 1111 1111 1111 1111 1011 1111
       1111 1111 1111 1111 1111 1100 0000
       0000 0111 1111 1111 1111 1111 1110
结果是:134217726
类型转换
隐式转换
6/4=1.5 把整数转换成小数
6+null=6 把null转换成0
6+""="6" 数字转化成字符串
"6"-0=6 字符串转化成数字
显示转化
parseInt()
parseFloat()
进制变量
var c=071  //八进制
var e=0x1A //十六进制
parseInt("071",14) //99 十四进制