js-day08简单对象&字符串对象

简介: js-day08简单对象&字符串对象

js-day08简单对象&字符串对象


01.回顾

02.简单对象

1、面向对象
  1、现实生活中-对象
    对象: 具体一个事物
    区分不同对象: 特征和行为
  2、软件世界-对象
    自己创建对象
    内置对象: 有 数组Array
            var arr =  new Array() 构造函数
            var arr =  []          字面量
    对象才有属性和方法      
    区分对象:属性和方法
         arr.length 属性
         arr.push() 方法
  3、数组对象 Array
     功能: 存储一系列有序数据的集合
       var arr = [98,89,78,78]
                 ['张三',23,true]
       var arr =  new Array() 构造函数
       var arr =  []          字面量
 =========================================
  4、内置对象 【重点】
      简单对象 Object
      1、功能: 存储(键值对)的集合
        //描述一个人信息
            姓名是张三,年龄是20,性别是男,成绩是98
       2、创建简单对象:
          两种方式:
            1、构造函数方式:
             var obj = new Object()  //空对象
             obj.username = '张三'
             obj.age = 20
             obj.sex = '男'
             obj.score = 98  
             创建名为obj的对象,添加了username,age,sex,score属性
            2、字面量方式
            var obj = {}   //创建空对象
            var obj = {
                //属性
                username:'张三',
                age:20,
                sex:'男',
                score:98,
                //方法
                say: function(){
                    console.log('说话')
                }
            }
            //obj对象名,也可以叫引用变量
        访问对象属性和方法
        通过点语句:  对象名.属性名   对象名.方法名()
                     obj.username    obj.say()  
        console.log(name); //属性需要输出
        访问对象方法,执行方法体中代码 //视情况看是否需要输出

03遍历简单对象

- for-in 遍历简单对象

var obj = {username:‘小明’,age:20,sex:‘男’}

for(var key in obj){

//key 对象属性名

//obj 是变量名=简单对象的名字

console.log(key,obj[key]) //key属性 obj[key]属性值

}

   -  如果对象属性名是变量时,使用:对象名[变量名] 访问属性值

04取小数位数: 数值.toFixed(位数)

avg.toFixed(2) //平均数保留两位小数

05字符串

=> 基本数据类型

number string boolean undefined null …

            Number String  Boolean
            字符串、数值、布尔值是一个包装数据类型
            当使用点语句时会自动转换成复杂数据类型, 使用完自动转回基本数据类型
      => var str = 'hello'
         var str = "hello"  
    1、字符串对象
      => 复杂数据类型
      => 对象
           =>简单对象 Object 
           =>数组     Array
    2、字符串在使用点语句调用方法属性时, 
       =>会自动转化为复杂数据类型(对象类型), 
       =>使用完之后转为原来字符串类型
       =>包装类型
    3、创建字符串对象
      var str = new String('hello')  //构造函数
      var str = 'hello'    //字面量
    4、字符串length属性
      =>字符串中字符个数
      注:空字符也算一个字符
    5、字符串索引号
       第一个字符索引号从0开始
    6、访问字符串中字符
        str[0]
        不能赋值==字符值只能访问不能赋值
    7、字符串的遍历
       for循环 

06字符串对象常用方法

!空字符也占据字符串额位置哦

charAt(索引号)

=>是找到字符串中指定索引位置的字符内容返回

返回值:字符

参数:索引号

indexOf()

=> 找字符在字符串中的索引号,从左向右找第一个索引号

=> 没找到返回-1

返回值:索引号

参数:字符 – ‘字符’

       lastIndexOf()
         =>找字符在字符串中的索引号,从右向左找
         => 没找到返回-1
        返回值:索引号
        参数:字符
        substring()
          => 截取字符串,返回新字符串
          返回值:新字符串
          参数:2个
          =>参数1 开始索引
          =>参数2 结束索引(不包含此字符)
        substr()
           => 截取字符串,返回新字符串
           =>参数1 开始索引
           =>参数2 元素个数
           返回值:新字符串
           参数:2个
        replace()
           => 用新的子字符串替换指定子字符串
           参数:2个 ('要更换字符串','新的字符串')
           返回值:新的字符串
        split()
          =>按指定字符,分割字符串,返回数组
          返回值:数组
          参数:指定字符 
          注:若为空字符串,则按照单个字母分割
        concat()
          =>字符串拼接
          返回值:新的字符串
          参数:字符串
          str.concat('nihoawa')
          str1.concat(str2)
        trim() 
         => 方法删除字符串两端的空白符 !只能两端空白字符
         => 返回去掉空格的新字符
         返回值:新字符串
         参数:无
         开发场景:用户注册账号,防止客户不小心打入空格符
        startsWith()
          =>判断字符串是否以子字符串开始
          =>是true, 不是false
          返回值:布尔值
          参数:字符串
        endsWith()
          =>判断字符串是否以子字符串结束
          =>是true, 不是false
          返回值:布尔值
          参数:字符串
        toUpperCase() 
        toLowerCase()
         功能:将字符串转换为全部大写|全部小写
         开发用途:用来判断数据传送方式get|post 转换大小写

07模板字符串

var str = ‘hello’

var str = “hello”

var str = hello

    模板字符串
      =>反引号引起来的字符串
      相比其他字符串的优点:
      =>模板语法
         ${变量}: 在字符串中输出变量的值
      var name = 'jack'    
       `hello:${name}`  =>  `hello:jack`
      =>在模板语法中简单运算
        ${a + b} 加减乘除三目运算符
        ${true?'hello':'world'}
    应用:
       => 复杂字符串拼接
       => 长字符串换行需要拼接换行,使用模板字符,``中直接换行
相关文章
|
11天前
|
JavaScript 前端开发
如何在 JavaScript 中使用 __proto__ 实现对象的继承?
使用`__proto__`实现对象继承时需要注意原型链的完整性和属性方法的正确继承,避免出现意外的行为和错误。同时,在现代JavaScript中,也可以使用`class`和`extends`关键字来实现更简洁和直观的继承语法,但理解基于`__proto__`的继承方式对于深入理解JavaScript的面向对象编程和原型链机制仍然具有重要意义。
|
15天前
|
Web App开发 JavaScript 前端开发
如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
|
1月前
|
JavaScript 前端开发
JS几种拼接字符串的方法
JS几种拼接字符串的方法
48 1
|
15天前
|
JavaScript 前端开发 图形学
JavaScript 中 Math 对象常用方法
【10月更文挑战第29天】JavaScript中的Math对象提供了丰富多样的数学方法,涵盖了基本数学运算、幂运算、开方、随机数生成、极值获取以及三角函数等多个方面,为各种数学相关的计算和处理提供了强大的支持,是JavaScript编程中不可或缺的一部分。
|
1月前
|
存储 JavaScript 前端开发
JavaScript 对象的概念
JavaScript 对象的概念
37 4
|
1月前
|
缓存 JavaScript 前端开发
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
31 1
|
1月前
|
存储 JavaScript 前端开发
js中函数、方法、对象的区别
js中函数、方法、对象的区别
16 2
|
1月前
|
JavaScript 前端开发 Unix
Node.js 全局对象
10月更文挑战第5天
25 2
|
1月前
|
存储 JavaScript 前端开发
js中的对象
js中的对象
19 3
|
1月前
|
JavaScript 前端开发 大数据
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
18 0