美文网首页
一、js印象

一、js印象

作者: mjwz5294 | 来源:发表于2018-02-23 17:38 被阅读0次

    1、JavaScript不区分整数和浮点数,统一用Number表示

    (1)NaN:表示Not a Number,当无法计算结果时用NaN表示,如0/0;

    (2)Infinity:表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity,如2/0;

    2、比较运算符:

    (1)==比较:它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果;

    (2)===比较:它不会自动转换数据类型,如果数据类型不一致,返回false,如果一致,再比较。由于JavaScript这个设计缺陷,不要使用==比较,始终坚持使用===比较。

    (3)NaN === NaN; // false

    (4)isNaN(NaN); // true

    (5)1 / 3 === (1 - 2 / 3); // false 浮点数运算过程中会有误差,需要小心

    (6)null表示一个空的值,而undefined表示值未定义,大多数情况下,我们都应该用null。undefined仅仅在判断函数参数是否传递的情况下有用。

    3、数组:js中的数组,可以混入各种数据类型,如:[1, 2, 3.14, 'Hello', null, true];

    4、对象:js中的对象,就类似于一个字典,如:

    var person = {

        name: 'Bob',

        age: 20,

        tags: ['js', 'web', 'mobile'],

        city: 'Beijing',

        hasCar: true,

        zipcode: null

    };

    5、变量:js是一种动态语言,即它的变量本身类型不固定,与之相反的就是静态语言。

    var a = 123; // a的值是整数123

    a = 'ABC'; // a变为字符串

    6、多行字符串用‘反引号’实现,``

    7、字符串拼接,可以用+,也可以用${变量}插入到字符串中,如:message = `你好, ${name}, 你今年${age}岁了!`;

    8、字符串常见操作:

    (1)获取长度:s.length

    (2)索引字符:s[0],需要注意的是,对字符串某个索引赋值,如s[0] = 'X',不会报错,也不会有效果

    (3)toUpperCase()把一个字符串全部变为大写

    (4)toLowerCase()把一个字符串全部变为小写

    (5)indexOf()会搜索指定字符串第一次出现的位置

    (6)substring()返回指定索引区间的子串,如s.substring(0, 5)

    9、数组常见操作:

    (1)arr.length:获取长度

    (2)arr.indexOf:获取元素位置

    (3)arr.slice(0, 3):截取一个子数组,arr.slice()相当于复制了一个数组

    (4)push和pop:在末尾添加或删除元素

    (5)unshift和shift:在头部添加或删除元素

    (6)sort:排序

    (7)reverse:顺序反排

    (8)splice()方法是修改Array的“万能方法”,它可以从指定的索引开始删除若干元素,然后再从该位置添加若干元素

    (9)concat()方法把当前的Array和另一个Array连接起来,并返回一个新的Array

    (10)join()方法是一个非常实用的方法,它把当前Array的每个元素都用指定的字符串连接起来,然后返回连接后的字符串

    10、对象操作

    (1)访问属性,可以用‘.’,也可以用‘[属性名]’

    (2)JavaScript的对象是动态类型,你可以自由地给一个对象添加或删除属性,如:

    var xiaoming = {

        name: '小明'

    };

    xiaoming.age; // undefined

    xiaoming.age = 18; // 新增一个age属性

    xiaoming.age; // 18

    delete xiaoming.age; // 删除age属性

    xiaoming.age; // undefined

    delete xiaoming.school; // 删除一个不存在的school属性也不会报错

    (3)检测是否有某一属性:'name' in xiaoming; // true。不过要小心,如果in判断一个属性存在,这个属性不一定是xiaoming的,它可能是xiaoming继承得到的,如'toString' in xiaoming; // true。

    (4)判断一个属性是否是xiaoming自身拥有的,而不是继承得到的,可以用hasOwnProperty()方法

    相关文章

      网友评论

          本文标题:一、js印象

          本文链接:https://www.haomeiwen.com/subject/enwxxftx.html