JavaScript知识点(2)
JavaScript对象及基本运算符
Object类型
JavaScript对象
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:
var obj={name:“小明”, age:“20”};
空格和折行无关紧要。声明可横跨多行:
var obj={
name: "zeng ",
age: "ni "
};
对象属性调用:obj.属性名称 console.log(obj.name);
JavaScript数组
数组由中括号分隔。在中括号内部,数组的元素由逗号分隔:
var arr =[" 30"," 20",“10"];
数组下标是基于零的,所以第一个的下标是 [0],第二个是 [1],以此类推。数组元素的调用:arr[数组下标]获得数组里的第一个元素: console.log(arr[0])
原始类型与Object类型有着根本区别
1.原始值是不可更改的。原始值的比较是值的比较,只有它们的值相等时才相等
2.对象是可变的,值是可修改的:
var obj={x:1};//定义一个对象
obj.x=2;//对象中属性x的值更改为2
obj.y=3;//增加新属性y
3.两个对象的比较并非值的比较,即使同样的属性和值 ,也是不相等。索引完全相等的两个数组也不等:
var obj={x:1},obj1={x:1}; //具有相同属性的两个对象console.log(obj===obj1); //false,两个单独的对象永不相等
var a=[ ],b=[ ]; //两个单独的空数组console.log(a===b); //false,两个单独的数组永不相等
对象的比较
通常将对象称为引用类型,对象的比较均是引用的比较,当且仅当它们引用同一个对象时,才相等。
var arr=[]; //定义一个引用空数组的变量arr var arr1=arr; //变量arr2引用同一个数组arr1[0]=1; //通过变量b来修改引用的数组console.log(arr1[0]); //1 console.log(arr[0]); //1,变量arr也会修改 console.log(arr===arr1); //true,arr和arr1引用同一个数组,所以相等
运算符
赋值运算符
赋值运算符并不是等于如果我想把5这个值赋值给变量a则:var a=5;
算术运算符
算术运算符用于执行变量与/或值之间的算术运算。
递增和递减
++表示的是变量的值加1
++i表示的是,先加1再执行而
i++表示的是先执行再加1
+运算符
用于把文本值或字符串变量连接起来。
如需把两个或多个字符串变量连接起来,请使用 + 运算符。
如果把数字与字符串相加,结果将成为字符串。
var x=5+5;
console.log(x); //10
var x="5"+"5";
console.log(x); //55
var x=5+"5";
console.log(x); //55
var x="5"+5;
console.log(x); //55
运算符的隐式转换规则:
字符串与数字进行+拼接时,数字会隐式的转换成字符串
字符串与对象进行+拼接时,对象会隐式的转换成字符串
数字与null进行+拼接时,null会转换成数字类型
布尔值之间进行+拼接时,布尔值会转换成数字类型
null和undefined和数字进行拼接时,会转换成数字类型,null为0,undefined为NaN字符串与数字进行-号运算时,字符串会隐式的转换成数字类型
关系运算符
关系操作符在逻辑语句中使用,以测定变量或值是否相等。
等于(==)的情况下 只要值相同就返回True
全等(===)的时候需要值和类型都要匹配才能返回True
关系操作符返回的是布尔值 true 或 false
关系运算符(比较运算符)
纯数字之间比较
console.log(1<3);//true
数字字符串比较,转换成ASCII码比较
console.log(“1”<“3”);//true
console.log(“123”<“123”);//falseconsole.log(“123"<“1234”);//true
纯字符串比较,先转成ASCII码
console.log(“j"<“k”);//trueconsole.log(“abc”<“aad”);//false,多纯字母比较,会依次比较ASCII码
逻辑运算符
逻辑与的运算规则
1.两边条件都为true时,结果才为true;
2.如果有一个为false,结果就为false;
3.当第一个条件为false时,就不再判断后面的条件
注意:当数值参与逻辑与运算时,结果为true,那么会返回的会是第二个为真的值;如果结果为false,返回的会是第一个为假的值。
逻辑或的运算规则
字符串、非 0 数字、对象,将返回true ;空字符串、数字0、undefined、 null、NaN,将返回 false。
1.只要有一个条件为true时,结果就为true;
2.当两个条件都为false时,结果才为false;
3.当一个条件为true时,后面的条件不再判断
注意:当数值参与逻辑或运算时,结果为true,会返回第一个为真的值;如果结果为false,会返回第二个为假的值;
&& 优先级高于 ||
先算2&&5的值为5,然后再3||5----3,最后再3||0----3
流程控制语句
JavaScript 常用语句if、for、for in、while、do while、switch、break、continue 语句
常用语句
条件语句 if
循环语句 for
选择语句 switch
循环语句 while
if语句语法
if ( 判断语句 ) {
语句1}else {
语句2}
语句3
if英语里面的如果的意思,else就是否则的意思。else不要拼写为eles
解题思路
题干:y值和x值相关。X大于等于3时,y值为2。X小于3时,y值为1
将文字转化为代码/表达式 x>=3 y=2 x<3 y=1
找到判断条件 x>=3 y=2 x<3 y=1
找到条件成立与不成立时的执行的语句 x>=3 y=2 x<3 y=1
将相应的语句放置到if结构的相应位置当中 生成if语句。结束