javascript 判断为负数_JavaScript基础全貌就在这一节了

本文全面介绍了JavaScript的基础知识,包括运算符的分类、数值的储存方式、特殊数值如NaN的处理,以及字符串的拼接和特殊字符。还详细讲解了对象的创建、属性操作及引用特性,是深入理解JavaScript基础的好材料。
摘要由CSDN通过智能技术生成

接上文,前端利器--JavaScript基础语法之控制语句。今天把JavaScript基础全部内容,一网打尽。

十、运算符

分类: 算术运算符 、赋值运算符、关系运算符、逻辑运算符、位运算符、条件运算符、扩增运算符

注意: + 在字符串上的运行 ,拼接

==与===:恒等 使用()提高优先级

十一、数值

1、整数和浮点数

根据国际标准 IEEE 754,64 位浮点数格式的 64 个二进制位中,第0 位到第 51 位储存有效数字部分,第 52 到第 62 位储存指数部分,第 63 位是符号位,0 表示正数,1 表示负数。18df631642a413261530feee91da864d.png

1)、 JavaScript 内部,所有数字都是以 64 位浮点数形式储存,即使整数也是如此。所以,1 与 1.0 是相等的,而且 1 加上 1.0 得到的还是一个整数, 自己会推导类型,不会像 JAVA 那样变成小数。

2)、尽可能不要使用小数比较,小数不精确

1 === 1.0 // true
1 + 1.0 // 2
0.1 + 0.2 === 0.3//false

整数二进制是除以 2 求余数 即 8421 码 ,小数:整数与小数部分分开,乘以 2,分数计数法。

5:

5*2=1 余 1

1/2=0 余 1

1

-->倒写 :101

0.3:

0.3*2=0.6

0.6*2=1.2

0.2*2=0.4

0.4*2=0.8

0.8*2=1.6

0.6*2=1.2….

2、表示法

基本:1.2 科学计数法: e 或 E

123e3 // 123000
123e-3 // 0.123

3、进制

使用字面量(literal)时,JavaScript 对整数提供四种进制的表示方法:十进制、十六进制、八进制、 2 进制。

十进制:没有前导 0。

八进制:有前导 0,且只用到 0-7 的七个阿拉伯数字,如果是 8-9 则表示十进制的 8-9。

十六进制:有前缀 0x 或 0X,用到十个阿拉伯数字,以及 a-f 和 A-F12 个英文字母。

二进制:有前缀 0b 或 0B,只用到 0 和 1 两个阿拉伯数字。

15

0xf // 15

017 // 15

0b1111 //15

09//9 -->无效的 8 进制

4、特殊数值

NaN:表示“非数字”(Not a Number),主要出现在将字符串解析成数字出错的场合。

1) NaN 不等于任何值,包括它本身,因为它不是一个值

2) NaN 与任何数(包括它自己)的运算,得到的都是 NaN。

3) isNaN 方法可以用来判断一个值是否为 NaN。

abc-1
0 / 0
NaN === NaN // false
NaN+1
isNaN(NaN) // true
isNaN(123) // false

Infinity:无穷大
1 / -0 // -Infinity
1 / +0 // Infinity

//isFinite 方法判断,是否为正常值。
isFinite(Infinity) // false
isFinite(-1) // true
isFinite(true) // true
isFinite(NaN) // false

5、使用 parseInt parseFloat Number 转换 ,

parseInt('123') // 123
parseInt('123px') //常用  123
parseFloat("3.14");    //3.14
Number(null) // 0

十二、字符串 特殊字符

1、字符串为字符序列,多个字符 ,使用 '' 或 ""

'chrome'

"good"

"It's a long journey"

2、使用 + 拼接字符

'chrome' +'is' +'very' +'good'

3、特殊字符,转义 -->记住常用即可

\0 代表没有内容的字符(\u0000)

\n 换行符(\u000A)

\t 制表符(\u0009)

\' 单引号(\u0027)

\" 双引号(\u0022)

4、 Base64 转码

Base64 是一种编码方法,可以将任意字符转成可打印字符。使用这种编码方法,主要不是为了加密,而是为了不出现特殊字符,简化程序的处理。

btoa():字符串或二进制值转为 Base64 编码

atob():Base64 编码转为原来的编码

var string = 'Hello World!';

btoa(string) // "SGVsbG8gV29ybGQh"
atob('SGVsbG8gV29ybGQh') // "Hello World!"

// 不适合中文,encodeURIComponent 中文必须先编码。
function b64Encode( str ) {
    return btoa(unescape(encodeURIComponent( str )));
}

function b64Decode( str ) {
    return decodeURIComponent(escape(atob( str )));
}

b64Encode('你好') // "5L2g5aW9"
b64Decode('5L2g5aW9') // "你好"

十三、对象

对象(object)是 JavaScript 的核心概念,也是最重要的数据类型。JavaScript 的所有数据都可以被视为对象。简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成。即伟大的 json 对象。

95b240217d1db7c635d76e80c7ad59b8.png

var o = {
    p: "Hello World"
};

adda6153a78457f7ab7287cdb63304b0.png//对象的所有键名都是字符串,所以加不加引号都可以

var person={
    "name":'chrome',
    age:10,
    sex:true
};

var members = [
    {
        "Name": "Bob",
        "Age": 32,
        "Company": "IBM",
        "Engineer": true
    },
    {
        "Name": "John",
        "Age": 20,
        "Company": "Oracle",
        "Engineer": false
    },
    {
        "Name": "Henry",
        "Age": 45,
        "Company": "Microsoft",
        "Engineer": false
    }
]

// 描述一次会议

var conference = {
    "Conference": "Future Marketing",
    "Date": "2012-6-1",
    "Address": "Beijing",
    "Members":
    [
        {
            "Name": "Bob",
            "Age": 32,
            "Company": "IBM",
            "Engineer": true
        },
        {
            "Name": "John",
            "Age": 20,
            "Company": "Oracle",
            "Engineer": false
        },
        {
            "Name": "Henry",
            "Age": 45,
            "Company": "Microsoft",
            "Engineer": false
        }
    ]
}    

1)、对象的三种创建形式

var o1 = {};
var o2 = new Object();
var o3 = Object.create(null);

2)、属性操作: . []

var person={
    "name":'chrome',
    age:10,
    sex:true
};

console.log(person.name);
console.log(person["name"]); //键名必须放在引号里面 处理特殊字符 方便运算
person.name ='郝开心'; //修改值
person.height=1.7; //动态添加属性

3)、操作多个属性

操作已经存在的属性,如果不是该对象的属性,则添加了一个全局变量。

with (person){
    name ='zs';
    age =20;
}

//等同于

person.name =’王大锤’;
person.age =20;

4)、 in 运算符

//检查属性、键是否存在
if('name' in person){
    console.log(person.name);
}

for (i in person){
    console.log(person[i]);
}

5)、 delete

删除键、属性: delete

delete person.sex;

6)、对象的引用

一个对象有多个引用时,其中一个对其发生变化,另外也可见。

var obj={
    n:'test'
};

var o= obj;
o.n ='oop';
console.log(obj.n);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值