11-字符串--highgh的博客--JavaScript的学习笔记

1.字符串简介

字符串就是"人类的自然语言"

字符串要用引号包裹,双引号或者单引号均可

数字11和字符串’11’在语义上是不同的,前者表达—个数量,后者是一个文本

要将一个变量的值“插入”到字符串中,要“斩断链接”

let year = 2020;

let  str = "北京冬季奥运会在" + year + "年召开"

console.log(str); //北京冬季奥运会在2020年召开

2.模板字符串

语法:

`字符串 ${变量/表达式} 字符串` (键盘tab上面那个键)

作用:

字符串模板简化了一些繁琐的字符串拼接操作

let str = `北京冬季奥运会在${
     year}年召开`;

普通字符串和模板字符串的区别

let user1 = "小甘";
let user2 = `小甘`;
console.log(user1 === user2); //true
<script>
      let person = {
    
        username: "小甘",
        age: 16,
        sex: "老板",
      };
      //let info =
      //  "我的名字是:" +
      //  person.username +
      //  ",我的年龄是" +
      //  person.age +
      //  ",我是个" +
      //  person.sex;

      let info = `我的名字是:${
      person.username},我的年龄是${
      person.age},我是个${
      person.sex}`;

      //和其他东西一起使用的时候,使用模板字符串,方便注入
      //其他情况下使用模板字符串和一般字符串都行

      console.log(info);
    </script>

模板字符串的注意事项

输出多行字符串

//一般字符串
let str = "第一行\n第二行"
console.log(str);
//模板字符串
let str = `第一行\n第二行`;
let str = `第一行
第二行`;
console.log(str);

//模板字符串中,所有的空格、换行或缩进都会被保留在输出之中

输出`和\等特殊字符

let info = `\`\\`
console.log(info);

模板字符串的注入

let user = "小甘";
let person = {
   age: 16, sex: "male"};

let getSex = function(sex){
   
    return sex === "male"? "男" : "女";
}


let info = `${
     user},${
     person.age},${
     getSex(person.sex)} `
console.log(info);

///只要最终可以得出一个值的就可以通过$注入到模板字符串中

字符串模板中可以使用表达式

let a = Math.random();
let str = `<div> ${
     a > 0.5 ? "正确" : "错误"} </div>`;
console.log(str);

字符串模板可以代替函数的小括号执行函数 (了解即可)

function fn(x){
   
    console.log(x)
}

// 通过字符串模板执行的函数,参数为数组的形式
fn`1`   //  [1] 
fn`1,2` //  [1,2]

模板字符串的应用

<style>
    * {
    
        margin: 0;
        padding: 0;
        list-style: none;
    }
    p,
    ul {
    
        text-align: center;
        font-size: 30px;
        margin: 50px 0px;
    }
</style>
</head>
<body>
    <p>学生信息表</p>
    <ul id="list">
        <li>信息加载中.....</li>
    </ul>

    <script>
        //数据
        let students = [
            {
    
                username: "小甘",
                age: 18,
                sex: "male",
            },
            {
    
                username: "小菲",
                age: 12,
                sex: "female",
            },
            {
    
                username: "二狗",
                age: 16,
                sex: "male",
            }
        ];
        let html = "";

        for(let i = 0; i < students.length; i++){
    
            html += `<li>我的名字是 ${
      students[i].username},我的年龄${
      students[i].age},我的性别${
      students[i].sex}<li>`;
        } 

        let list = document.getElementById("list");

        list.innerHTML = html;
    </script>

3.包装对象

原始类型有没有属性和方法?

按原始类型与引用类型的定义来说

只有引用类型(对象)才有属性和方法,原始类型是没有自己的属性和方法的

let num = 100;
//我们使用toString方法将num这个数值型转换成了字符串型  为什么num就真的调用了toString却没有报错呢?
let str = num.toString(); 
console.log(typeof str); //string

这里面我们用原始类型num调用了toString方法

那是不是原始类型也能调用方法呢,答案是否定的。仍然只有对象才能拥有自己的属性和方法。

JavaScript中有三种包装对象,

他们对应的构造函数分别是String字符串,Number数值,Boolean布尔值。

很多编程语言都有包装对象的设计,

包装对象的目的就是为了让基本类型值可以从它们的构造函数的prototype上获得方法

let a = new Number(123);
let b = new String("abc");
let c = new Boolean(true);

console.log(typeof a);// "object"
console.log(typeof b);// "object"
console.log(typeof c);// "object"

console.log(a === 123); // false
console.log(b === 'abc'); // false
console.log
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只情绪稳定的老虎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值