❤️ Author: 老九
☕️ 个人博客:老九的CSDN博客
🙏 个人名言:不可控之事 乐观面对
😍 系列专栏:
文章目录
- 基本类型
- Number
- String
- boolean
- 例子
- 变量
- 求二元一次方程
- 函数
- 1.3题目
- if
- 例子
- 1.4题目
- 调试
下面我们会随着Eloquent JavaScript这本书开始编程之路
基本类型
- number,string,boolean,null,undefined,symbol,bigint
- function,array,object
Number
- 使用这个数据类型,会创建数字对应的二进制状态在内存中,在js中任何一个数字都占用64个比特,8个字节,也就是说是2的64次方,但是第一个比特是正负,然后后面几个比特是记录小数点,所以准确能得出的整数大概是9后面15个0,但是对浮点数的运算是不精确的。
- 0b开头是2进制,0x开头是16进制,0o是八进制
- typeof运算符,返回的是类型。
- 输出的话用console.log()
String
- 用双引号也可以,用单引号也可以 ,如果发现了\这个符号就是转义,反引号`在里面可以使用明文回车。
- 两个字符串拼接就用“+”
boolean
- 最终得出两个结果,console.log(3 > 2);,字符串也可以进行比较。大写字母小于小写字母。
- 字符串和数字进行比较,是把字符串变成数字之后再进行比较;
- 比较的时候,任何一边有布尔类型都是把布尔类型转成数字
- NaN和自己都不相同,除了NaN,其他的和自己都是相同的。
- 自动类型转换,含有NaN的运算,值一定是NaN,NaN就是无意义的值,但NaN = = false的值为false。‘5’ == 5 这个结果是真。null = =undefined,这两个值只有和自己还有互相 = =的时候才是true。
- 只有‘’,NaN,0这三个值转成布尔类型都是假。
- 还有===这个是精确判断,用来防止自动类型转换。
例子
<script>
x = 2022
console.log( x ) // 输出x
console.log( x * 2 ) // 输出x的两倍
console.log( x ** 2 ) // 输出x的平方
console.log( x * x * x ) // 输出x的三次方
console.log( x ** 5 ) // 输出x的五次平方
console.log( x>50 && x<100 ) // 输出x是否在50到100以内,是输出true,不是输出false
console.log( x % 2 == 1 ) // 输出x是否为奇数,是输出true,不是输出false
console.log( x % 2 == 0 ) // 输出x是否为偶数,是输出true,不是输出false
console.log( x % 10 ) // 输出x的个位数
console.log( (x - x % 10) /10 % 10 ) // 输出x的十位数
console.log( (x - x % 100) /100 % 10) // 输出x的百位数
console.log( x % 100 ) // 输出x百位数以下的部分,对于2021,即输出21,对于2035,即输出35
console.log( Math.abs(x) ) // 输出x的绝对值
console.log( x>200 && x % 3 === 0 && x % 7 != 0 ) // 输出x是否大于200且为3的倍数但不是7的倍数。
console.log( (x - x % 100) / 100 + 1 ) // 输出x做为年份时,所在的世纪,对于2022即输出21,对于1864即输出19
console.log( x % 4 == 0 ) // 输出x做为年份时,当年是否会举办奥运会
console.log( x % 4 === 2 ) // 输出x做为年份时,当年是否会举办世界杯
//与运算优先级高于或运算
console.log( x % 400 === 0 || (x % 4 === 0 && x % 100 != 0) ) // 输出x做为年份时,是否为闰年,是输出true,不是输出false,闰年的定义请自行查询
</script>
变量
- 程序通过变量记 录内部状态,关键字是var,变量声明语句 var x = 5*6;,可以赋值,也可以不赋值。$可以当作变量。
求二元一次方程
<script>
var a = 2
var b = 9
var c = 1
//Math.abs(-5) 这个是求绝对值
//Math.pow(2,1.5)这个求1.5的平方
var delta = b * b - 4 * a * c
var sqrt_delte = Math.sqrt(delta)
var x1 = (-b + sqrt_delte) / (-2 * a)
var x2 = (-b - sqrt_delte) / (-2 * a)
console.log(x1)
console.log(x2)
</script>
函数
- alert就是一个函数,alert可以让代码停止。console.log(1,2,3,4,5)可以接受很多个参数,但是alert(1,2),只能接受一个参数,只输出1
- 这个点就是在console这个方法中取了一个log的属性
- confirm(‘are you sure to delete’),这个函数是有返回结果的,如果把这个函数的值给一个变量,如果点击确定就返回true,取消就返回false;
- prompt(‘what is your age’,’18‘),这个是带一个文本框的弹窗,在文本框里输入的东西就作为返回值,后面一个参数是程序在文本框里自动添加的,prompt返回的是字符串,如果想将字符串转成数字,Number(prompt())。
- var x= 3.1415; x.toFixed(2),这个意思是保留小数点有效位数2位,转后成了一个字符串
- parseInt,这个函数可以将一个字符串取出来数字中的整数,然后把字符串里的字母和小数都排除,可以用作一个小数的向下取整;这个还可以通过进制转换,parseInt(‘11010’,2),这个就是将11010以2进制来理解,转成10进制输出。
- Math.floor(1.5) = 1这个就是向下取整
- Math.ceil(1.001) = 2这个是向上取整
1.3题目
<script type="xxx" id="ch0103/01">
var a = Number(prompt())
var b = Number(prompt())
var c = a + b
alert(c)
console.log(c)
</script>
<script type="xxx" id="ch0103/02">
var a = Number(prompt())
var b = Number(prompt())
var c = Number(prompt())
var result = (a + b) * c
console.log(result)
</script>
<script type="xxx" id="ch0103/03">
var a = Number(prompt())
var b = Number(prompt())
var c = Number(prompt())
var r = (a + b) / c
var result = Math.floor(r)
console.log(result)
</script>
<script type="xxx" id="ch0103/04">
var a = Number(prompt())
var b = Number(prompt())
var division = Math.floor(a / b)
var remainder = a % b
console.log(division)
console.log(remainder)
</script>
<script type="xxx" id="ch0103/05">
var a = Number(prompt())
var b = Number(prompt())
var result = a / b
console.log(result.toFixed(9))
</script>
<script type="xxx" id="ch0103/06">
var a = Number(prompt())
var b = Number(prompt())
var r = b / a * 100
console.log(r.toFixed(3) + '%')
</script>
<script type="xxx" id="ch0103/07">
var x = Number(prompt())
var a = Number(prompt())
var b = Number(prompt())
var c = Number(prompt())
var d = Number(prompt())
var result = a * x ** 3 + b * x ** 2 + c * x + d
console.log(result.toFixed(7))
</script>
<script type="xxx" id="ch0103/08">
var f = Number(prompt())
var C = 5 * (F - 32) / 9
console.log(C.toFixed(5))
</script>
<script type="xxx" id="ch0103/09">
var r = Number(prompt())
console.log((r * 2).toFixed(5),(2 * 3.14159 * r)
.toFixed(5) , (3.14159 * r * r).toFixed(5))
</script>
<script type="xxx" id="ch0103/10">
var r1 = Number(prompt())
var r2 = Number(prompt())
var R = 1 / (1 / r1 + 1 / r2)
console.log(R.toFixed(2))
</script>
<script type="xxx" id="ch0103/11">
var a = Number(prompt())
var b = Number(prompt())
var R = a % b
console.log(R.toFixed(4))
</script>
<script type="xxx" id="ch0103/12">
var r = Number(prompt())
var V = 4 / 3 * Math.PI * r ** 3
console.log(V.toFixed(2))
</script>
<script type="xxx" id="ch0103/13">
var n = Number(prompt())
var ge = n % 10
var shi = (n - n % 10) / 10 % 10
var bai = (n - ge - (shi * 10)) / 100 % 10
var r = '' + ge + shi + bai
console.log(r)
</script>
<script type="xxx" id="ch0103/14">
var h = Number(prompt())
var r = Number(prompt())
var L = h * Math.PI * r * r / 1000
var count = 20 / L
console.log(Math.ceil(count))
</script>
<script type="xxx" id="ch0103/15">
var n = Number(prompt())
var x = Number(prompt())
var y = Number(prompt())
var eatten = Math.ceil(y / x)
var remain = n - eatten
console.log(remain)
</script>
<script type="xxx" id="ch0103/16">
var x1 = Number(prompt())
var y1 = Number(prompt())
var x2 = Number(prompt())
var y2 = Number(prompt())
var l = Math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2)
console.log(l.toFixed(3))
</script>
<script type="xxx" id="ch0103/17">
var x1 = Number(prompt())
var y1 = Number(prompt())
var x2 = Number(prompt())
var y2 = Number(prompt())
var x3 = Number(prompt())
var y3 = Number(prompt())
var a = Math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2)
var b = Math.sqrt((x1 - x3) ** 2 + (y1 - y3) ** 2)
var c = Math.sqrt((x2 - x3) ** 2 + (y2 - y3) ** 2)
var p = (a + b + c) / 2
var s = Math.sqrt(p * (p - a) * (p - b) * (p - c))
console.log(s.toFixed(2))
</script>
<script id="ch0103/18">
var a1 = Number(prompt())
var a2 = Number(prompt())
var n = Number(prompt())
var delta = a2 - a1
var an = a1 + (n - 1) * delta
console.log(an)
</script>
<script id="ch0103/18">
var a1 = Number(prompt())
var a2 = Number(prompt())
var n = Number(prompt())
var delta = a2 - a1
var an = a1 + (n - 1) * delta
console.log(an)
</script>
<script id="ch0103/19">
var a = Number(prompt())
var b = Number(prompt())
console.log(a * b)
</script>
<script id="ch0103/20">
var n = Number(promp())
console.log(Math.pow(2,n))
</script>
if
- isNaN:这个判断是否不是一个数值类型的值
- Number.isNaN:这个判断是否是NaN这个值
例子
<script>
var a = Number(prompt('请输入a'))
var b = Number(prompt('请输入b'))
var c = Number(prompt('请输入c'))
var delta = b ** 2 - 4 * a * c
var sqrt_delta = Math.sqrt(delta)
var x1 = (-b + sqrt_delta) / (2 * a)
var x2 = (-b + sqrt_delta) / (2 * a)
if (delta > 0) {
console.log('x1 = ' + x1)
console.log('x2 = ' + x2)
} else if (delta == 0) {
console.log('x1 = x2 = ' + x1)
} else {
console.log('无解')
}
</script>
1.4题目
<script type="xxx">
var n = Number(prompt())
if (n > 0) {
console.log('positive')
} else if (n == 0) {
console.log('zero')
} else {
console.log('negative')
}
</script>
<script type="xxx">
var n = Numbrer(prompt())
if (n < 0) {
console.log(-n)
} else {
console.log(n)
}
</script>
<script type="xxx">
var n = Number(prompt)
if (n % 2 == 0) {
console.log("even")
} else {
console.log('odd')
}
</script>
<script type="xxx" id="ch0104/04">
var char = prompt()
//这个charcodeAt是获取ASCLL编码的方式
var code = char.charCodeAt(0)
if (code % 2 == 0) {
console.log('No')
} else {
console.log('yes')
}
</script>
<script type="xxx" id="ch0104/05">
var x = Number(prompt())
var y = Number(prompt())
if (x > y) {
console.log('>')
} else if (x == y) {
console.log('=')
} else {
console.log('<')
}
</script>
<script type="xxx" id="ch0104/06">
var n = Number(prompt())
if (n >= 10 && n < 100) {
console.log(1)
} else {
console.log(0)
}
</script>
</script>
<script type="xxx" id="ch0104/07">
var lucky = Number(prompt())
var encourage = Number(prompt())
if (lucky >= 10 || encourage >= 20) {
console.log(1)
} else {
console.log(0)
}
</script>
<script type="xxx" id="ch0104/08">
var n = Number(prompt())
if (n % 3 == 0 && n % 5 == 0) {
console.log('yes')
} else {
console.log('no')
}
</script>
<script type="xxx" id="ch0104/09">
var n = Number(prompt())
var over = false
if (n % 3 == 0) {
over = true
console.log(3)
}
if (n % 5 == 0) {
over = true
console.log(5)
}
if (n % 7 == 0) {
over = true
console.log(7)
}
if (!over) {
console.log('n')
}
</script>
<script type="xxx" id="ch0104/10">
var s1 = Number(prompt())
var s2 = Number(prompt())
var count = 0
if(s1 < 60){
count = count + 1
}
if(s2 < 60){
count = count + 1
}
if(count == 2){
console.log(1)
}else{
console.log(0)
}
</script>
<script type="xxx" id="ch0104/11">
var n = Number(prompt())
if(n == 1 || n == 3 || n == 5){
console.log('yes')
}
</script>
<script type="xxx" id="ch0104/12">
var distance = Number(prompt())
var byWalk = distance / 1.2
var byBicycle = distance / 3 + 50
if(byWalk < byBicycle){
console.log('walk')
}else if(byWalk > byBicycle){
console.log('Bike')
}else{
console.log('ALL')
}
</script>
<script type="xxx" id="ch0104/13">
var x = Number(prompt())
var y
if(x < 5){
y = -x + 2.5
}else if(x < 10){
y = 2 - 1.5 * (x-3) * (x - 3)
}else{
y = x / 2 - 1.5
}
console.log(y.toFixed(2))
</script>
<script type="xxx" id="ch0104/14">
var weight = Number(prompt())
var emergency = prompt()
var price = 8
if(weight > 1000){
price = price + Math.ceil((weight - 1000) / 500) * 4
}
if(emergency == 'y'){
price = price + 5
}
console.log(price)
</script>
<script type="xxx" id="ch0104/15">
var a = Number(prompt())
var b = Number(prompt())
var c = Number(prompt())
var max = 0
if(a > max){
max = a
}
if(b > max){
max = b
}
if(c > max){
max = c
}
console.log(max)
</script>
<script type="xxx" id="ch0104/16">
var a = Number(prompt())
var b = Number(prompt())
var c = Number(prompt())
if(a + b > c && a + c > b && b + c > a){
console.log('yes')
}else{
console.log('no')
}
</script>
<script type="xxx" id="ch0104/17">
var year = Number(prompt())
if(year % 400 == 0 || year % 4 == 0 && year % 100 != 0){
console.log('y')
}else{
console.log('x')
}
</script>
<script xtype="xxx" id="ch0104/18">
var x = Number(prompt())
var y = Number(prompt())
if(x > -1 && x < 1 && y > -1 && y < 1){
console.log('yes')
}else{
console.log('no')
}
</script>
<script type="xxx" id="ch0104/19">
var a = Number(prompt())
var b = Number(prompt())
var op = prompt()
if(op == '+'){
console.log(a + b)
}else if(op == '-'){
console.log(a - b)
}else if(op == '*'){
console.log(a * b)
}else if(op == '/'){
if(b == 0){
console.log('divided by zero!')
}else{
console.log(a + b)
}
}else{
console.log('invalid operator')
}
</script>
<script type="xxx" id="ch0104/20">
var a = Number(prompt())
var b = Number(prompt())
var c = Number(prompt())
var delta = b * b - 4 * a * c
if(delta >= 0 ){
var x1 = (-b - Math.sqrt(delta)) / (2 * a)
var x2 = (-b - Math.sqrt(delta)) / (2 * a)
if(delta > 0 ){
var result = 'x1=' + x1.toFixed(5) + ';x2=' + x2.toFixed(5)
}else{
var result = 'x1=x2='+x1.toFixed(5)
}
console.log(result)
}else{
var delta = -delta
var sDelta = Math.sqrt(delta)
var x1real = -b / (2 * a)
var x1imag = sDelta / (2 * a)
var x2real = -b / (2 * a)
var x2imag = -sDelta / (2 * a)
var x1 = x1real.toFixed(5) + (x1imag>0 ? '+': '')+ x1imag.toFixed(5) + 'i'
var x2 = x1real.toFixed(5) + (x1imag>0 ? '+': '')+ x1imag.toFixed(5) + 'i'
console.log(x1,x2)
}
</script>
调试
- 在代码中加debugger
————————————————————————
♥♥♥码字不易,大家的支持就是我坚持下去的动力♥♥♥
版权声 明:本文为CSDN博主「亚太地区百大最帅面孔第101名」的原创文章