• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
liu521125
记录自己的学习之路
博客园    首页    新随笔    联系   管理    订阅  订阅

js的对像及数据及数据类型的转换

   var cat={'color':'blank',
        'name':'加菲猫',
         'bland':'波斯猫',
        'eat':function(){
         console.log('我能吃肉');
        },
        'drunk': function(){
         console.log('我能喝水');
        }
       }
       console.log(cat);
       console.log(cat.color);
       console.log('我是'+this.cat.name+'能吃肉');
       cat.eat();
       var c='name';
        console.log(cat[c]);

调用对象时 有

console.log(dog.name)

console.log(dog.[name])

调用 对象方法时有

dog.eat()

当var c='name'时

可以在console.log(dog.[name])中的中括号里加变量名称

2.数字的类型

parseint() 转化为整型

parsefloat() 转化为浮点型

tofixed 保留小数点位数

3.严格模式

ues strict 严格模式

  比如

 之前我们不用var 直接变量等于一个值 可以正常运行

 但是在严格模式下不能够运行

4.栈与堆

 栈内存 时 先进后出

堆内存时 分叉  给进去的数据生成一个地址

 在把地址给到栈里面

5.数据类型的转换

1) 字符串的转换

 自动转换

 

     console.log('one'+1)数字
     console.log('one'+null);空
     console.log('one'+undefined);未定义
     console.log('one'+true);布尔值
     console.log('one'+false);onefalse
     console.log('one'+{});对象

强制转换

强制转换: String(),object.toString()

 console.log(String(1));
 console.log(object.toString());

2)数字类型的转换

自动转换

 

 console.log("1"+1);
 console.log(null+1);
 console.log(true+1);

 

强制转换

console.log(Nummber("10"));

   强制转换 Number() 按照自动转换规则转换 parseInt(string) 、parseFloat(string) i  isNaN() 函数用于检查其参数是否是非数字值

注意:parseInt还可以接受第二个参数(2到36之间),表示呗解析的值的进制,返回该值对应的10进制数。parseInt的第二个参数为10,即默认是十进制转十进制

3)布尔类型的转换

自动转换

 

强制转换

 Boolean()

   !!

if(0 || "" || '' || NaN || undefined || null){
  alert('true')
}else{
  alert('false')
}
!!123.11  // true
Boolean('abc') // true
console.log(Boolean([])); // true
console.log(Boolean([])); // true
console.log([] == false);   // true; ==两边的数据类型不一致,需要转为数字进行比较;[]=>字符串''=>数字0
console.log(![] == false); // true  ==的优先级比较低,肯定是先算左边 ![] 然后与后面进行比较,[]转为布尔值为true 取反 false false==false
console.log('0' == false); // true

 

6面试题

 面试题:把16进制转为rgb格式;
// //  #ff0000
//    console.log(parseInt('ff',16));
//    console.log(parseInt('00',16));
//    console.log(parseInt('00',16));
//    console.log('rgb:'+parseInt('ff',16),+parseInt('00',16),+parseInt('00',16))

7.运算符

运算符算术运算符(+,-, *,/,%【重要】,++【重要】,--)算术运算符(+,-, *,/,%【重要】,++【重要】,--)

“+”算数加和字符串想接

i++ 先赋值,再加1;

++i 先加1,再赋值

alert(typeof(+'5')) // number  +"5" 表示0+5

比较运算符(>,<,>=,<=,,=,!=不等于,!==不全等于)【了解】

!=不等于    值不等于   数据类型可以相同
!==不完全等于       值不等于  数据类型不相同

赋值运算符(=【掌握】,+=【掌握】,-=, *=,/=,%=)赋值运算符(=【掌握】,+=【掌握】,-=, *=,/=,%=)

=  表示赋值
+= 表示 加后面的数据 赋给前面的变量    
var b;
 b+=
console.log(b);

var i=10;
i+=1 // i=i+1 效果一样  i++

逻辑运算符(!,&&,||)【两边均为表达式】【重要】

 

逻辑运算符用于测定变量或值之间的逻辑 || 存在断点问题,第一个式子成立,不在执行第二个式子;如果第一个式子不成立,执行第二个登式(真假为真,假假为假,真真为真) && 式子两边同时成立,执行的是if(true),只要有一个不成立。或两个都不成立执行false

||运算方法[真前假后]:

只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。

只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。
// 如果你必须给一个变量赋默认值,可以简单的这样写
var a;
console.log(a) // undefined

a = a||'default value';
console.log(a)  // default value

a = a||'new value';
console.log(a)  // new value

// 在函数中传參使用,如果传參就使用传递过来的参数,没有传參就使用默认值
function show(10){
  var shownum = num || 20;
  console.log(shownum);
}
show(10);

 

 

&&运算方法[假前真后]:

  只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;
  
  只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;
 
 // console.log(5>1&&5);
    //前面要是为真  后面不关真假都输出后面
    // console.log(0&&9);

    //前面为假 不看后面  直接输出前面的  断点

if(0 && 5){
console.log('真');
}else{
console.log('假');
}
console.log(10&&5);
console.log(0&&5);
var a=1;
console.log(a>5 && a++);
console.log(a<5 && a++);
console.log(a<5 && --a);


var a=10;
if(a<20||a++){
console.log('真',a);
}else{
console.log('假',a);
}

 

条件运算符【三元运算符/三目运算符】【重要】

条件表达式?结果1:结果2
如果条件表达式结果为true则返回结果1
如果条件表达式结果为false则返回结果2

//三元运算符
    // console.log(2>3?"true":"false");

 

本文来自博客园,作者:刘先生的爱心博客,转载请注明原文链接:https://www.cnblogs.com/liu521125/p/17793054.html

一点一滴记录着学习html5 css3 和js 的时光
posted @ 2023-10-27 19:51  刘先生的爱心博客  阅读(22)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3