js学习笔记

js每日学习笔记2022/12/5

js中多行注释快捷键:ctrl+shift+/

prompt('这是一个弹出框')

变量

//  声明变量的特殊情况
//  1.只声明不赋值
 var age;
console.log(age);  // undefined
//  2.不声明也不赋值
console.log(wary);  // 报错: Uncaught ReferenceError: wary is not defined
//   3.不声明直接赋值
tel = 100;
console.log(tel)  // 100

// 不使用name作变量名
数字型
//  1.八进制:0~7,在数字前面加0
var num8 = 010; // 8
//  2.十六进制 0~9 ,a~f 在数字前面加0x
var num16 = 0xa; //10
Number.MAX_VALUE; //数字型的最大数
Number.MIN_VALUE; //数字型的最小数
Number.MAX_VALUE+1; //Infinity
Number.MIN_VALUE-1; //-Infinity
console.log('123'-100); // NaN

//3.isNaN()方法判断非数字,返回值:非数字返回true,数字返回false
isNaN(12); // false
isNaN('122'); //false
isNaN('12test') //true
字符串型
// 1.字符串转义字符\开头,写在引号里面 \n 换行
alert('hello,\nhello')
// 2.length属性,检测字符串的长度
var str = 'hello, world'
str.length  //  12
//  3.字符串的拼接+ 字符串和其他数据类型拼接,结果是字符串类型
console.log('12'+'test'); //12test
console.log('12'+12);  //1212
console.log('12'+true); //12true
console.log(12+12); //24 加法
布尔型
true|false
console.log(true+0); //1
console.log(false+0); //0
var str=undefined;//未定义数据类型
console.log(str); // undefined
console.log(str+'wary');  //undefinedwary
console.log(str+1); //NaN undefined加数字结果为NaN
var space = null; //空值
console.log(null+'wary') //nullwary
console.log(null+1); //1
查看变量的数据类型
 <script>
  //  js 的变量的数据类型在程序运行中,然后根据等号右边的值来确定
  //  js是动态语言,数据类型可以变化
  var num = 10; 
  console.log(typeof(num));//  number类型
  //Object.prototype.toString.call(num); // [object Number]
  // num instanceof Number;  //false
  
  num = '101';
  console.log(typeof(num));//  string类型
  //Object.prototype.toString.call(num); // [object String]
  // num instanceof String;  //false

// 查看变量的数据类型
  // 1.typeof(变量名),
  // 识别所有值类型:number,string,boolean
  // 识别所有函数类型,typeof(函数名),function
  // 识别引用类型:对象,数组,null都返回object
  // NaN:返回number
num = undefiened;
console.log(typeof(num));//  object类型
num = true;
console.log(typeof(num));//  boolean类型
  //Object.prototype.toString.call(num); // [object Boolean]
  // num instanceof Boolean;  //  false
  // console.log(num.constructor);  //ƒ Boolean() { [native code] }
num = {name:'wary',age:18}
console.log(typeof(num));//  object类型
  //Object.prototype.toString.call(num); // [object Object]
  // num instanceof Object;  //true

num = ['wary',18];
console.log(typeof(num));//  object类型
  //Object.prototype.toString.call(num); // [object Array]
  // num instanceof Array;  //true

num = null;
console.log(typeof(num));//  object类型
  //Object.prototype.toString.call(num); // [object Null]

typeof(f) // function
typeof(NaN) //  number

function f(){
  alert('hello')
}
  // 2.Object.prototype.toString.call(变量),准确返回类型[Object 数据类型]
Object.prototype.toString.call(NaN)  //  [object Number]
Object.prototype.toString.call(f)  //  [object Function]

 /*  3.instanceof()检测引用数据类型:
  值类型返回false,
  null,undefined 返回false,
  array,object,function 返回true */
  f instanceof Function;  // true 
  //testArr instanceof Array; //true
  /* 4.constructor属性判断值类型和引用数据类型 //Uncaught TypeError: Cannot read properties of null (reading 'constructor')
  undefined,null 使用会报错 */
  f.constructor; // ƒ Function() { [native code] }
  </script>

来自–链接: js判断变量数据类型的几种常用方法

字面量
//一看就知道是什么数据类型
console.log(18);
console.log('18');
console.log(true);
console.log(undefined);
console.log(null);
console.log({});
console.log([]);
转换为字符串
//1.变量.toString(),把数字类型型转换为字符串类型
var num = 10;
var str = num.toString(); //str为string,num.toString()为string,num还是number
//2.String(变量)
String(num); // String(num)为string,num为string
//3.+拼接字符串,隐式转换
console.log(num+''); //字符串类型
转换为数字型
//1.parseInt(变量名) ,把字符串类型转换为数字类型,结果是整数
parseInt('3.14');  //3 只取整数部分'1.99'=>1
parseInt('120px'); //120 开始是数字,遇到字符串停止
parseInt('rem120px'); //NaN
//2.parseFloat(变量名),把字符串转换为浮点数(小数)数字类型
parseFloat('3.1415926') //3.1415926
parseFloat('120px'); //120 开始是数字,遇到字符串停止
parseInt('rem120px'); //NaN
//3.Number(变量名)
var str = '123';
Number(str); //123
//4.- * / 算数运算符 隐式转换
console.log('12' - 0); //12
console.log('12'-'12');//0
console.log('12'*1); //12
console.log('12'/1);//12
转换为布尔型
//Boolean(变量名)
Boolean(''); //false
Boolean(0); //false
Boolean(NaN); //false
Boolean(null);//false
Boolean(undefined);//false
Boolean('123'); //true
Boolean('wary'); //true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值