JS对象

创建对象
ECMA变量
用‘var’关键字来定义变量,并可以将其初始化为任意值
变量中存储的值可以改变

ECMAJscript运算符
运算符是指完成操作的一系列符号,也称为操作符
运算符用于江一个或多个指进行运算并返回结果。
使用运算符的值称为操作数
运算符和操作数的组合称为表达式
运算符的类型
1 算术运算符
分别是 : + - * / % ++ –

2 比较(关系)运算符
分别是 : > < <= >= == === !=

​ !==

比较运算符的返回结果一定是布尔值(true,false)

3 逻辑运算符
分别是 && || !

逻辑运算符的结果一定为 Boolean值

在逻辑运算符中,逻辑非( !)占着一定的比例,在一定程度上会减少代码的开发量

逻辑非
在表达式 中 逻辑非 表示 true的值分别为

​ !’ '非字符串—注意和空格符的区别,由于空格符有着占位,所以算成是非空字符串, !0 !null !NaN !undefined;

猜想:由上述的五个特殊的返回值 true,是否可以这样认为

只要表示没有任何东西或者是除对象外不占用任何的位置,返回都是true,

或者是 只要是上述的五个特例,返回都是true

console.log(!{}); //false
console.log(!’ ‘) //false
console.log(‘任意非字符’); //false
console.log(!’’) //true
console.log(!1) //false
console.log(!0) //true
console.log(!null); //true
console.log(!NaN); //true
console.log(!undefined) //true

逻辑与&&
[外链图片转存失败(img-XBYhXmAW-1566134937139)(C:\Users\Don\AppData\Roaming\Typora\typora-user-images\1565969237850.png)]

4 赋值运算符
= += -= *= /= %=

5 连接运算符
只要 “ + ” 任意一边的操作数为字符串型数据,则不再执行加法运算
连接后的结果为字符串型数据
console.log(12 + ‘12’); //1212
console.log(12 - ‘12’) //0
1
2
特别注意

只有 + 才能进行默认的字符拼接,同时,默认删除数字之间的Number类型 转换

算术运算符中 * - / % 都会默认发生 Number隐式转换。

运算符优先级
小括号 > 算术运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符

创建对象的方法
通过构造函数 Object() 创建普通对象
new 作用: 实例化对象
new 构造函数() ----> 实例化对象
构造函数 可以是js 自带的,可以是我们自定义的

    var student = new Object();
    var liuMing = "刘明",
    var liuJuan = "刘娟",

对象增与取
通过构造函数 Object() 创建普通对象
new 作用: 实例化对象
new 构造函数() ----> 实例化对象
构造函数 可以是js 自带的,可以是我们自定义的
对象取值,对象增加 key:value
1.对象增加key:value
如果是构造函数创建对象,可以通过传参形式增加 key:value

//方式一、传参添加 key:value
var person = new Object({
‘a’:‘刘明’,
‘b’:‘刘明1’,
‘c’:‘刘明2’,
});

// 方式二、打点添加 key:value
// 语法: object.key = value
person.d = “刘明3”;

var liuMing4 = “刘明4”;
person.e = liuMing4;

获取取值方式一、打点取值,并使用变量接受取值结果

var one = person.a

console.log(person.d)
//取值方式二、
//    语法:object['属性'],有且仅有左右获取值的函数
//    获取到值如何处理 要么直接使用,要么直接输出
var d1 = person['d'];
console.log(d1,'wer');
var a = {
    e:"sd",
    b:{

    }
}

总结: 最后一个 点 左边的一律是对象,右面为任意数据类型

布尔对象
var bool = new Boolean({
a :false,
//Boolean() 作用:将其他类型数据转化为布尔类型
// 创建(构造)布尔对象,
// 添加 了一个 bool属性,内置由空变为 有值有结构,所以为 true
});

//实例
var boolstr1 = new Boolean(‘aaa’); //true
var boolstr2 = new Boolean(‘true’); //true
var boolstr3 = new Boolean(‘false’); //true
var boolstr4 = new Boolean(true); //true
var boolstr5 = new Boolean(0); //false
var boolstr6 = new Boolean(NaN); //false
var boolstr7 = new Boolean(null); //false
var boolstr8 = new Boolean(23); //true
var boolstr9 = new Boolean([]); //true
var boolstr10 = new Boolean(’ ‘); //true
var boolstr11 = new Boolean(’’); //false
var boolstr12 = new Boolean(false);

总结:在Boolean() 中转换,如果为 空, null ‘’ 0 等代表没有的值的时候,输入结果为false,但是,[]空数组除外。
如果里面有实质的值,转化为true。但false 除外

字符串对象
字符串使用基类 String来构造对象。

var str = ‘香港是中国的一部分’;
console.log(str); //香港是中国的一部分
var str2 = ‘转义’字符’’;
console.log(str2) //转义’字符’
var str3 = “123.13.23”;
console.log(Number(str3)) //NaN
console.log(Number(’’)) //0
console.log(parseInt(true)) //true
console.log(parseInt("")) //NaN
console.log(parseInt(’’)) //NaN
console.log(parseFloat(‘13.123香港’)) //13.123
console.log(parseFloat(’’)) //NaN
console.log(Math.round(‘123.343香港’) ) //NaN
console.log(Math.round(true) ) //1
console.log(Math.round(false) ) //0
console.log(Math.round(“12321.943”) ) //12322
console.log( Math.round(“true”) ) //NaN
console.log(Number(“12321.香港”) ) //NaN
console.log(Number(“true”) ) //NaN

字符串转换为Number() ,有值为NaN,无值 为 0;

日期对象
使用 Date();

getTime() 1565766812786 timestamp 时间戳,具有唯一性, 时间戳就是当前时间的 总time毫秒数

一秒等于 1000 毫秒

在使用时间时,一定要注意时间的api,

创建日期对象 new Date() ,可以简写为 new Date().getTime();

星期中的某一天,使用本地时间。返回值是 0(周日) 到 6(周六) 之间的一个整数。

var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hours = date.getHours();
var m = date.getMinutes();
var s = date.getSeconds();
var ms = date.getMilliseconds();
var timeX = date.getTime();

var a = new Date().getTime();
console.log(date)

  1. 创建一个日期对象,Date();

​ 星期一 Monday Tuesday Wednesday Thursday Friday Saturday Sunday

​ 古巴比伦人创立的星期制,首先传到古希腊、古罗马等地。古罗马人用他们自己信仰的神的名字来命名1周7天:Sun’s-day(太阳神日),Moon’s-day(月亮神日),Mars’s-day(火星神日),Mercury’s-day(水星神日),Jupiter’s-day(木星神日),Venus’-day(金星神日),Saturn’s-day(土星神日)。

这7个名称传到英国后,盎格鲁-撒克逊人又用他们自己的信仰的神的名字改造了其中4个名称,以Tuesday 、Wednesday、Thursday、Friday 分别取代Mars’s-day 、Mercury’s-day 、Jupiter’s-day 、Venus’-day。 Tuesday来源于Tiu,是盎格鲁-撒克逊人的战神;Wednesday来源于Woden,是最高的神,也称主神;Thursday来源于Thor,是雷神;Friday来源于Frigg,是爱情女神。这样就形成了今天英语中的1周7天的名称。

数组对象
数组特点

有序 有索引值(index),索引值可以是从【0】 开始到【length -1】结束

数组中数据:可以为任意数据类型,数据可重复

未来数据结构,数组中都是i对象,对象中有数组

数组中取值

数组名字【索引值】
取最有一个数据 array[array.length -1]
数组长度

表示数组中数据的总个数
获取 var len = array.length
创建数组

    方式一、构造函数方式--- Array 数组的构造函数 作用 ,创建数组
    数组,参数未数组中的数据
    数组特点
    1. 有序,从 0 开始 ,
    2. 0~n 是数组的[索引值]
    注意: 索引值具有唯一性,有序性
    3. 数组中数据,可以为任意数据类型
    4. 数组中数据可重复
    注意:以后遇见的数据结构,数组中全是对象,对象中有数组

    var arr = new Array(1,'Hello',true,{name:'张三'},'');
    console.log(arr)
    /**
    创建数组方式二

    */
    var arr1 = [1,2,3,4,5,{name:'黄顺飞'},[1,2,3[245,465,7632,432,657,6,53,42],4,5]];
    console.log(arr1)
    /*
    数组中取值,语法 array[index] array-数组名 index 索引值
    获取数组的最后一个元素 length - 1
    */
    var arr2 = arr1[arr1.length - 1];
    console.log(arr2)

    /*
    更改数组元素的内容
    */
     arr1[2] = {mes:'我爱中国'};
     console.log(arr1[2])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值