JavaScript 对象

对象:

javascript中的对象分为3种:自定义对象,内置对象,浏览器对象。

JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。

在 JavaScript 中,对象是拥有属性和方法的数据。

属性是与对象相关的值。

方法是能够在对象上执行的动作。.关键词() 举例:汽车就是现实生活中的对象。

汽车的属性: car.name=Fiat  名称

car.model=500  型号

car.weight=850kg  重量

汽车的方法: car.start()   启动

car.drive()   驾驶

car.brake()   刹车

car.color=white   颜色

Object对象

创建对象

var 对象名称=new Object();

设置对象属性

对象名称.属性名=值;

设置对象方法

对象名称.方法名=function(){ }

调用对象属性

对象名称.属性名

调用对象方法

对象名称.方法名()

String对象

创建String对象

var strOb = new String("abcefg");

var strOb = String("abcefg");

var strOb = "abcefg";

属性

length    (字符串长度)

为了方便操作基本数据类型,js提供了三个特殊的引用类型:string、,Number,Boolean

方法

1.子字符串位置

indexOf(string,[index])      //返回子字符串abc在字符串中第一次出现的位置(从0开始计算),不存在返回-1

string : 查找的字符串的内容,必填项

index:开始查找位置,可有可无

返回值:返回值是查找到的子字符串的位置(下标),默认情况下,返回的是第一个被查找到的内容;如果被查找的内容不存在,则返回-1

2.lastIndexOf(string,[index])    //返回子字符串abc在字符串中最后一次出现的位置

string :子字符串,查找的字符串的内容,必填项

index:开始查找位置,可有可无

返回值:返回值是查找到的子字符串的位置(下标),默认情况下,返回的是第一个被查找到的内容;如果被查找的内容不存在,则返回-1 

slice(start,end)

获取字符串的某个部分 截取是前包含,后不包含

start 表示开始位置,从0开始到正无穷

end 表示结束位置,可以为正值,也可以为负值

截取

1.substr(起始位置,[截取长度]) //截取不写则代 表截取到字符串未尾 起始位置:可以自定义,从0开始

2.截取长度:可以是一个数字,还可以不写;如果不写长度,表示截取到字符串的末尾

3.返回值:截取出来的字符串 substring(起始位置,[结束位置]) //不包括截取结果的右边界字符

4.起始位置:是一个下标值,不能为负值

5.结束位置:是一个下标值,不能为负值(不包括截取结果的右边界字符)

替换

replace('子字符串1','子字符串2') //将字符串中子字符串1替换为子字符串2,

在替换的时候要注意有些字符是需要加转移字符\,不然会把它认为成其他字符。例如“ *”在替换的时候要注意有些字符是需要加转移字符\,不然会把它认为成其他字符。例如“ *”

1.获取指定位置的字符 charAt(n) 默认为第一个字符 n 表示的是下标,范围是 0-正无穷,不能使用负值  小括号里只能有一个参数

2.获取指定字符的ASCII编码 str.charCodeAt()

3.String.fromCharCode() 根据ascii返回对应的字符

转换大小写 toLowerCase()  toUpperCase()

toLowerCase() 小写

 toUpperCase() 大写

 var str1 = 'HelloWorld';

 var getStr1 = str1.toLowerCase(1);

 var getStr1 = str1.toUpperCase(1);

  console.log(getStr1);

将字符串分割为数组 split(分割符,[返回数组的最大长度])

分隔符:是一个字符串类型 或者是 正则表达式

返回值:数组

显示字符串效果 bold() 加粗

italics() 斜体

strike() 删除 f

ontcolor('#f00') 字符串颜色

fontsize(1-7) 字符串大小

sup() 上标标签

sub() 下标标签

设为超链接

案例:string方法相关案例

扩展:创建一个按钮,点击上传图片,判断上传的文件是否是一张图片

function suffix(element) {
            var str = element.value;
            var suffix = str.slice(str.lastIndexOf('.')+1);
             if(suffix=='png' || suffix=='pneg' || suffix=='jpg' || suffix=='jpeg' || suffix=='gif'){
                return true;
             }else{
                return false;
             }
        }
        var inp =document.querySelector('#inp');
        var btn =document.querySelector('#btn');
         btn.onclick =function(){
            var bool = suffix(inp);
            if (bool){
                alert('文件格式正确');
            }else{
                alert('文件格式有误')
            }
         }

面试题:编写一个函数,按下面的输入内容和输出接结果编写

          
function strChange(arr) {
            var arr1 = arr.replace(/[*]/g,'-')
            var add = arr1.split('-').map(word =>{
                 return word.charAt(0).toLowerCase() + word.slice(1);
                 console.log(add);
            }).join('-');
            return add;
            }
            var resultStr = strChange("Hello*Books*world*hello");
            console.log(resultStr ) // 返回 “hello-books-world-world”

实现函数:查找子字符串出现的次数 传入:”abcabcabc”,”abc” 返回:3

function counts(str,sst) {
        var index = str.indexOf(sst);
        var num = 0;
        while(index !== -1){
            num++;
            index = str.indexOf(sst,index+1);
        }
        return num;
    }
    var n = counts('abcabcabc','abc');
    console.log('abc一共出现了'+n+'次');

写一个函数,对传入的字符串中每个单词的首字母大写,

调用:capitalize(‘the quick brown fox’)

返回:The Quick Brown Fox

var arr = 'the quick brown fox';
 function capitalize(str) {
    var arr = str.split(' ');
    for(var i = 0; i < arr.length;i++){
        arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].slice(1);
    }
    return arr.join(' ');
 }
 console.log(capitalize(arr));

把字符串翻转 "kjihgfedcba"

var str = "abcdefghijk";

    var resStr = str.split('').reverse().join('');

    console.log(resStr);

找出以上字符串中出现次数最多的字符和出现的次数

   var str = 'abaasdffggghhjjkkgfddsssss3444343';
       var count ={};
       for(var i = 0;i < str.length;i++){
        var char = str[i];
        if(count[char]){
            count[char]++;
        }else{
            count[char] = 1;
        }
       }
       var maxCount = 0;
       var maxChar;
       for(var char in count){
        if(count[char] > maxCount){
            maxCount = count[char];
            maxChar = char;
        }
       }
       console.log('出现次数最多的字符是:', maxChar);
       console.log('出现的次数是:', maxCount);

查找指定字符是否在以上字符串中存在,如:i,c ,b等

    function check(str,char) {
                for(var i = 0; i < str.length; i++){
                    if(str[i] == char){
                        return '包含';
                    }
                }
                return '不包含';
               }
               var str = 'abaasdffggghhjjkkgfddsssss3444343';
               console.log(check(str,'i'));
               console.log(check(str,'c'));
               console.log(check(str,'b'));

把字符串翻转 "kjihgfedcba"实现函数:查找子字符串出现的次数Date

对象

创建Date对象

var dateObj=new Date();

方法

1.将日期转为字符串

toLocaleString()  
toLocaleDateString() 
toLocaleTimeString()

定时器

setInterval(函数体,时间(毫秒),参数(传递给函数的参数)

扩展:1. 封装一个函数,输入任意一个数,都能让这个数组从大到小进行排序 (冒泡排序)

   function sort(arr) {
        for(var i=0;i<arr.length-1;i++){
            for(var a=0;a<arr.length;a++){
                if(arr[a]<arr[a+1]){
                    temp = arr[a];
                    arr[a]=arr[a+1];
                    arr[a+1] = temp;
                }
            }
        }
        return arr;
       }
       console.log(sort([4,5,8,6,7,2]));

扩展2:把转成数字以后,最大值判断出来:300

 var newArr = [];
     for(var i = 0; i < arr.length; i++){
        if(!isNaN(parseFloat(arr[i]))){
            newArr.push (parseFloat(arr[i]))
        }
     }
     var arr1 = newArr.sort(function(a,b){
        return b - a;
     })
     console.log(arr1[0]);

扩展3:编写程序,获取数组中的最大值 var arr = [1, 2, 2, 3];

function getMax(arr){
           var max = arr[0];
            for(var i=1;i<arr.length;i++){
                if(arr[i]>max){
                    max = arr[i];
                }
            }
            return max;
        }
        console.log(getMax([6,3,8,23,45,1]));

扩展4:统计数组arr中元素item出现的次数

 var arr = ['item',10,23,'jack','item','pop','item'];
    var num =[];
    for(var i = 0; i < arr.length; i++){
        if(arr[i] == 'item'){
          num++;
        }
    }
    console.log(num);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值