JavaScript学习(一)

xiaoxiao2025-11-04  30

目录

JavaScript组成部分ECMAScript:DOM :BOM : 数据类型基本【简单】数据类型数字number随机数 字符串Booleannullundrfined 复杂【引用】数据类型object函数类型数组类型 数据类型检查 数据类型转换转字符串(1)String(变量) :(2)变量.toString(); 转数字1、Number()2、parseInt()3、parseFloat()4、 NaN5、isNaN(variable) 隐式类型转换运算符赋值运算符比较运算符逻辑运算符三目运算符 流程控制语句if-elseswitch-case-default

JavaScript组成部分

ECMAScript:

ECMAScript是js语言的标准。

DOM :

document object model (文档对象模型)

BOM :

browser object model (浏览器对象模型) 详细页面点击原生js操作DOM。

数据类型

js有6种数据类型,4种基本数据类型、Object和function类型。六种数据类型,typeof返回的也是6个字符串:number、string、boolean、undefined、object、function。

基本【简单】数据类型

五种:字符串(String)数字(number)空(Null)未定义(undefined)布尔(Boolean)

数字number

var age = 3; var PI = 3.14; console.log(age,PI);//3 3.14 console.log(age+PI);//6.140000000000001 console.log(typeof age); // number console.log(typeof(PI)); // number //注意下面: var a = 0.1; var b = 0.2; console.log(a + b);//0.30000000000000004

随机数

生成一个介于某两个值之间的随机数

/** * 生成一个介于某两个值之间的随机数 * @param min 最小值 * @param max 最大值 * @returns {number} 生成的最技术 */ var getRandom = function(min, max) { return Math.floor(Math.random() * (max - min + 1) + min); }

字符串

var str = '3456'; var str2 = "welcome to js"; console.log(typeof str2);//string // 字符串.length // 字符串[下标] 字符串.charAt(下标) // 字符串下标从0开始,最后一个下标是长度-1 // 字符串的下标 console.log(str2[0])//w console.log(str2[8])//t console.log(str2[12])//s console.log(str2[str2.length - 1])//s var str = String("1324565789"); var st = new String("你好,世界。"); console.log(typeof str);//string console.log(typeof st);//object

Boolean

var n = false; console.log(typeof n);// boolean if (n) { console.log('真'); } else { console.log('假');//假 }

null

用处:如果将来准备存储一个对象,我们可以先给它一个值叫null。

var n = null; // 没有值或者暂时没有值 console.log(typeof n); // object console.log(number(n)); //Uncaught ReferenceError: number is not defined

undrfined

var a; console.log(a);//undefined console.log(typeof a);//undefine

复杂【引用】数据类型

复杂数据类型,由简单数据类型构成。

object

var obj = { name: '张三', age: 3, job: function() { console.log('前端开发'); } } console.log(typeof obj);//object

函数类型

var fn = function() {}; console.log(typeof fn); // function

数组类型

js的数组和java的数组存储形式不太一样。java数组里存储的数据类型是同一类型的数据,js的数组存储的数据可以是不同类型的数据。

var arr = [true, 'abc', 123, {}, [], function() {}]; console.log(typeof arr[0]);//boolean console.log(typeof arr[1]);//string console.log(typeof arr[2]);//number console.log(typeof arr[3]);//object console.log(typeof arr[4]);//object console.log(typeof arr[5]);//function console.log(typeof arr);//object

数据类型检查

判断数据类型:typeof(变量) typeof,返回六个字符串:number、 string、 boolean、 object、undefined、 function 示例:

var age = 3; var PI = 3.14; console.log(typeof age); // number console.log(typeof(PI)); // number //函数类型 var fn = function() {}; console.log(typeof fn); // function

数据类型转换

转字符串

(1)String(变量) :

可以将任何数据类型转成字符中

(2)变量.toString();

不能针对null和undefined类型

var a = 10; console.log(String(a));//10 console.log(typeof String(a));//string var b = 'abc'; console.log(String(b));//abc console.log(typeof String(b));//string var c = true; console.log(String(c));//true console.log(typeof String(c));//string var n = null; console.log(String(n));//null console.log(typeof String(n));//string var m = undefined; console.log(String(m));//undefined console.log(typeof String(m));//string //toString()方法 console.log(a.toString());//10 console.log(b.toString());//abc console.log(c.toString());//true console.log(n.toString());//报错 //Uncaught TypeError: Cannot read property 'toString' of null console.log(m.toString());//报错 //Uncaught TypeError: Cannot read property 'toString' of undefined

转数字

1、Number()

(1)Nunber(varliable); 可以转任何数据类型,只有能转成功或不能转成功之分。转成功就是数字,转不成功就是NaN

var a = 10; console.log(Number(a));//10 console.log(typeof Number(a));//number /** * NaN --- not a number,但是它是数值类型 */ var b = 'abc'; console.log(Number(b)); // NaN console.log(typeof Number(b));//number var c = false; console.log(Number(c)); // true是1 false是0 console.log(typeof Number(c));//number //特殊:null转number为0 var n = null; console.log(Number(n)); // 0 console.log(typeof Number(n));//number var m = undefined; console.log(Number(m)); // NaN console.log(typeof Number(m));//number console.log(Number('10px'));//NaN console.log(Number('13.34元'));//NaN

2、parseInt()

转整数;如果转不成功,则返回NaN。

console.log(parseInt('10px')); // 10 console.log(parseInt('a10px')); // NaN console.log(parseInt('10px56c'));//10 console.log(parseInt('10.34亿'));//10

3、parseFloat()

转小数 ; 如果转不成功,则返回NaN

console.log(parseFloat('10px56c'));//10 console.log(parseFloat('10.34亿'));//10.34 console.log(parseFloat('a10.3.4亿'));//NaN

4、 NaN

注意:

NaN同谁都不相等,包括它自己任何涉及NaN的操作返回的都是NaNtypeof查看返回的是number console.log(NaN == NaN);//false console.log(null == null);//true console.log(undefined == undefined);//true console.log('abc' - 5 + 3);//NaN console.log(typeof NaN);//number

5、isNaN(variable)

isNaN(variable);用于判断这个值是不是非数字,如果是数字,返回false,如果不是数字,返回trueisNaN()不喜欢数值(包括字符串的数字),但喜欢数值类型的NaN。 console.log(isNaN('Ab'));//true console.log(isNaN('1a'));//true //特殊:因为null可以转为数字0 console.log(isNaN(null));//false console.log(isNaN(function a() {}));//true //特殊2:NaN类型是数字,但它本身不是数字 console.log(isNaN(NaN));//true console.log(typeof(NaN));//number

隐式类型转换

算数运算符有:+ - * / % ++ --。

只要有一边是字符串,哪么另一边就转成字符串,变成字符串连接。如果两边都是数字,则可以正常进行加减乘除取余运算 //情况一:运算符左边字符串的数字,右边数字。 var a = '15'; var b = 5; //加法操作例外:字符串拼接 console.log(a + b)//155 //其他正常执行 console.log(a - b);//10 console.log(a * b);//75 console.log(a / b);//3 console.log(a % b);//0 //情况二:运算符左边数字,右边数字字符串。 //结果和情况一相同,“+”加法操作仍然是字符串拼接 var a = 15; var b = '5'; //加法操作例外:字符串拼接 console.log(a + b);//155 //其他正常执行 console.log(a - b);//10 console.log(a * b);//75 console.log(a / b);//3 console.log(a % b);//0

运算符

赋值运算符

var a = 10; // 把10赋给a a += 10; // a = a + 10,左右两边相加,然后赋给左边

比较运算符

比较运算符判断两个变量的大小,是否相等

运算符名称符号大于 大于等于>     >=小于 小于等于<      <=等于 不等于= =      !=全等于= = =不全等于!== // == 相等,值是否相等,会发生类型转换 console.log(1 == '1'); // true console.log(true == 1); // true //特殊: console.log(null == undefined); // true,除此之外,它们不能和其它的值进行比较 // === 全等,值和类型都要相等才相等,不会发生类型转换 console.log(1 === '1'); // false console.log(true === 1); // false console.log(null === undefined); // false console.log(null !== undefined); // true console.log(null != undefined); // false

逻辑运算符

“与“”和“或” :连接两个或多个条件。 “非”: 为取反。

名称运算符说明与&&都为真才为真或有一个为真就为真非!取反 if (!!false) { alert('条件成立'); }

三目运算符

格式:条件 ? 代码一 : 代码二; 如果条件为真,则执行代码一,否则执行代码二

var n = 90 >= 60 ? '及格' : '不及格'; console.log(n);//及格

流程控制语句

if-else

条件如果只是两三个分支,就用if-else

var age = 7; if (age >= 7) { console.log('上学');//上学 }

switch-case-default

条件如果是三个以上的分支,建议使用switch

var n = prompt('请输入成绩'); if (isNaN(n)) { // 不是数字 alert('哥们,请输入数字'); } else if (n < 0 || n > 100) { // 不在0--100之间 alert('哥们,请输入0--100的数字'); } else { // 0--100之间 switch (true) { case n < 60: alert('不及格'); break; case n >= 60 && n < 70: alert('及格'); break; case n >= 70 && n < 80: alert('一般'); break; case n >= 80 && n < 90: alert('良好'); break; case n >= 90 && n < 100: alert('优秀'); break; default: alert('满分'); } }
转载请注明原文地址: https://www.6miu.com/read-5039036.html

最新回复(0)