程序员社区

JS基础4

对象

定义

一组属性的无序集合,包含属性方法,允许动态添加和删除属性

创建对象

1.构造函数是创建一个Object新实例,然后给它添加属性

 let person = new Object();
 person.name = 'Nicholas';
 person.age = 29;
  //遍历输出
 for(var key in person){
     console.log(person[key])
     }
      //结果为Nicholas  29
  1. 字面量方式,直接花括号里添加属性
let person = {
            name: 'Nicholas',
            age: 29,
        }
        //遍历输出
        for (var key in person) {
            console.log(person[key])
        }
        //结果为Nicholas  29

对象内置特性

属性 含义
Configurable 是否可以通过delete删除并重新定义
Enumberable 是否可以通过for-in循环返回
Writable 属性的值是否可以被修改
Value 属性实际的值

要修改这些属性默认值true, 使用Object.defineProperty()方法,这个方法接受三个参数:给其添加属性的对象,属性的名称,一个描述对象
示例代码

let person = {
            name: 'Nicholas',
            age: 29,
        }
        Object.defineProperty(person, 'name', {
            writable: true,

        })

        console.log(person.name)
       //结果Nicholas
        person.name = 'newNicholas';
        console.log(person.name)
        // writable: true结果Nicholas
        // writable: false结果newNicholas

字符串对象

创建

  1. var str =new string(‘hello’)
  2. var str=‘hello’

字符串属性

属性 含义
str[] 访问字符串中字符
charAt() 找到索引号内容并返回
indexof() 找到字符串索引号
lastIndexof() 从后面找到字符串索引号
substring() 2个值,从哪个开始,到哪个结束,不包括结束字符
substr() 2个值,从哪开始,截取几个
slice() 2个值,从哪个开始,到哪个结束,不包括结束字符
replace() 用新字符串替换指定字符串
split() 分隔字符串,返回一个数组
concat() 字符串拼接
trim() 去除前后空格符
startsWith(a) 是否以a字符开头
endWith(a) 是否以a字符结尾
includes(a) a在全字符串是否存在
toLowerCase 转换小写
toUpperCase 转换大写
repeat(N) 将字符串复制N次
padStart(n,‘m’) 将m复制n次填充到字符串前面
padEnd(n,‘m’) 将m复制n次填充到字符串后面

注:

  1. 字符串中空格也是一个字符串
  2. indexof()找不到时返回-1
  3. slice,substring,substr
  • 是以相同形式被调用,当只有一个数,提取到末尾位置
  • 当有负数时,slice将所有负值当成字符串长度加上负参数值,substr将第一个负参数值当成字符串长度加上负参数值,第二个转换为0,substring将所有转换为0
    示例代码
var str='hello';
console.log(str[0])
//结果h
var str='hello';
console.log(str.charAt(0))
//结果h
var str='hello';
console.log(str.indexOf('l'))
//结果02       
var str='hello';
console.log(str.lastIndexOf('l'))
//结果03
var str='hello';
console.log(str.substring(0,2))
//结果he
var str='hello';
console.log(str.substr(0,2))
//结果he
var str='hello';
console.log(str.replace('he','eh'))
//结果ehllo
var str='hello';
newStr=str.split('')
console.log(newStr)
//结果['h', 'e', 'l', 'l', 'o']
 var str='hello';
 newStr=str.concat(' world')
console.log(newStr)
//结果hello world
var str=' hello';
newStr=str.concat(' world')
newStr1=newStr.trim()
console.log(newStr1)
//结果hello world

var str='hello';
newStr=str.startsWith('h')
console.log(newStr)
//结果true
var str='hello';
newStr=str.toUpperCase()
console.log(newStr)
//结果HELLO

for-in与for-of

  • foe-in
 var obj={
            name:'Nichols',
            age:19,
        }
for(var key in obj){
    console.log(obj[key])
    //结果Nichols 19        
        }
  • for-of
var str='hello';
for(var value of str){
     console.log(value)
   //结果h e l l 0         
        }
  1. for-in是得到键名(索引),for-of是得到元素值
  2. for-in可以遍历对象,数组
  3. for-of遍历数/数组对象/字符串/map/set等拥有迭代器对象的集合,但不能遍历对象
  4. for-in遍历原型链for-of遍历当前对象

模板字符串

定义:${变量}

  1. 反引号起来的字符串
  2. 模板语法,在字符串中输出变量的值
  3. 在模板语法中简单运算
赞(0) 打赏
未经允许不得转载:IDEA激活码 » JS基础4

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区