1、new Object 和字面量 {}测试;

<script type="text/javascript">
//1、new出来对象
console.log(obj,'看看这里的obj什么')
var obj = new Object();
console.log(obj,'看看这里的obj又是什么')
obj.name = 'bob';
obj.age = 20;
console.log(obj,'看看new出来的对象里面是什么')
//2、字面量的空对象
console.log(obj1,'看看这里的obj1是什么')
var obj1 = {};
console.log(obj1,'看看obj1是什么')
obj1.name = 'wow';
obj1.age = 18;
console.log(obj1,'字面量的对象里面是什么')
</script>

2.数组和对象的几个常用方法剖析

<script type="text/javascript">
//join() 方法用于把数组中的所有元素放入一个字符串,元素是通过指定的分隔符进行分隔的
var arr = ['bob', 'peter', 'sol'];
console.log(arr.join('.')); //bob.peter.sol
console.log(arr.join('-')); //bob-peter-sol
console.log(arr.join('_')); //bob_peter_sol
console.log(arr.join('')); //bobpetersol
console.log(arr.join()); //bob,peter,sol
//slice()和splice()的用法和区别;
//1、arrayObject.slice(start,end)------slice()方法可从已有的数组中返回选定的元素。
//start必需,规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置;也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
//end可选,规定从何处结束选取;该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。
//如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
var arr1 = [1, 2, 3, 4];
arr1.slice(1);
console.log(arr1.slice(1), 'slice第一次') //[2, 3, 4] "第一次"
console.log(arr1.slice(1, 3), 'slice第二次') //[2, 3] "第二次"
console.log(arr1.slice(-1), 'slice第三次') //[4] "第三次"
//2、arrayObject.splice(index,howmany,item1,.....,itemX)******splice()方法向/从数组中添加/删除项目,然后返回被删除的项目。
//注释:该方法会改变原始数组。
//index必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
//howmany必需;要删除的项目数量。如果设置为 0,则不会删除项目。
//item1, ..., itemX可选,向数组添加的新项目。
var arr2 = ['qq', 'ww', 'ee', 'rr', 'tt'];
console.log(arr2.splice(1, 2), 'splice第一次') //["ww", "ee"] "splice第一次"
console.log(arr2, 'arr2第一次') //["qq", "rr", "tt"] "arr2第一次"
console.log(arr2.splice(2, 1, 'yy'), 'splice第二次') //["tt"] "splice第二次"
console.log(arr2, 'arr2第二次') //["qq", "rr", "yy"] "arr2第二次"
//3.prototype 属性 可以为对象添加属性和方法
function employee(name, job, age) {
this.name = name;
this.job = job;
this.age = age;
}
var bill = new employee("bob", "Engineer", 25);
console.log(bill,'对象');//employee:{name: "bob", job: "Engineer", age: 25}
//给对象添加属性
employee.prototype.salary = null;
bill.salary = 20000;
console.log(bill.salary);//
console.log(bill,'这时候有什么属性')//employee {name: "bob", job: "Engineer", age: 25, salary: 20000}
//给对象添加方法
employee.prototype.getName = function(){
console.log('name is ok') //name is ok
};
bill.getName();//调用实例的方法
</script>

3.字符串几个常用的方法剖析;

<script type="text/javascript">
//1、stringObject.indexOf(searchvalue,fromindex)-----从前往后|对称的是 lastIndexOf()*****从后往前
//searchvalue必需,规定需检索的字符串值。
//fromindex可选的整数参数,规定在字符串中开始检索的位置。
//它的合法取值是 0到 stringObject.length - 1,如省略该参数,则将从字符串的首字符开始检索。
var str = 'helloword';
console.log(str.indexOf('xd')) //-1
console.log(str.indexOf('he')) //
console.log(str.indexOf('He')) //-1 对大小写敏感
console.log(str.indexOf('l')) //2检索的从左往右的第一个
//2、stringObject.split(separator,howmany) split()方法用于把一个字符串分割成字符串数组。
//separator必需,字符串或正则表达式,从该参数指定的地方分割 stringObject。
//howmany可选,该参数可指定返回的数组的最大长度。
//如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
var str1 = '23456';
console.log(str1.split(), 'split第一次') //["23456"] "split第一次"
console.log(str1.split(''), 'split第二次') //["2", "3", "4", "5", "6"] "split第二次"
console.log(str1.split('', 3), 'split第三次') //["2", "3", "4"] "split第三次"
var str2 = '1:2:3:4'
console.log(str2.split(':'), 'split第四次') //["1", "2", "3", "4"] "split第四次"(和数组的join方法相反)
//4、stringObject.substr(start,length)
//start必需,要抽取的子串的起始下标。必须是数值。
//如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
//length可选,子串中的字符数,必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
//substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。返回一个新的字符串;
var str3 = 'hello';
console.log(str3.substr(3),'substr第一次截取')//lo substr第一次截取
console.log(str3.substr(1,3),'substr第二次截取')//ell substr第二次截取
//5、stringObject.substring(start,stop) substring()方法用于提取字符串中介于两个指定下标之间的字符。
var str4 = 'hello word';
console.log(str4.substring(3),'substring第一次截取')//lo word substring第一次截取
console.log(str4.substring(3,7),'substring第二次截取')//lo w substring第二次截取
</script>

原生js的容易忽略的相似点(二)的更多相关文章

  1. 原生js的容易忽略的相似点(一)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. 【2048小游戏】——原生js爬坑之遍历算法显示二维数组内容

    引言:做2048小游戏会将横纵方向的数字内容,存储在一个二维数组中,要将这个二维数组中的内容显示在页面上,就一定要用遍历算法来实现了. 一.二维数组存储    首先考虑用二维数组存储所有行数,列数   ...

  3. 纯原生js移动端图片压缩上传插件

    前段时间,同事又来咨询一个问题了,说手机端动不动拍照就好几M高清大图,上传服务器太慢,问问我有没有可以压缩图片并上传的js插件,当然手头上没有,别慌,我去网上搜一搜. 结果呢,呵呵...诶~又全是基于 ...

  4. 【面试篇】寒冬求职季之你必须要懂的原生JS(中)

    互联网寒冬之际,各大公司都缩减了HC,甚至是采取了“裁员”措施,在这样的大环境之下,想要获得一份更好的工作,必然需要付出更多的努力. 一年前,也许你搞清楚闭包,this,原型链,就能获得认可.但是现在 ...

  5. 原生JS 基础总结

    0. 好习惯 分号 ; 花括号 {}, var 弄清楚 null , undefined 区别 , isNaN, === 与 == 区别 1. prompt , confirm , alert 不同框 ...

  6. 关于Echarts的原生js获取DOM元素与动态加载DOM元素的冲突问题

    1.前言: 最近在做的看板项目,因为需要循环加载后台数据,并且用Echarts做数据呈现,所以jQuery和angular等库统统靠边站,Echarts用的是原生js获取DOM元素,至于诸多不兼容等深 ...

  7. 原生js获取元素的样式信息

    工作中经常会需要获取DOM元素的样式,之前都是通过jquery的css()方法,现在总结一下通过原生js获取元素样式的方法. obj.style js var _width = obj.style.w ...

  8. 原生JS实现call,apply,bind函数

    1. 前言 使用原生JS实现call和apply函数,充分了解其内部原理.call和apply都是为了解决改变this的指向.作用都相同,只是传参的方式不同.除了第一个参数外,call可以接受一个参数 ...

  9. 原生js实现文件下载并设置请求头header

    原生js实现文件下载并设置请求头header const token="自行定义";//如果有 /** * 向指定路径发送下载请求 * @param{String} url 请求路 ...

随机推荐

  1. C++数组作为函数参数的几个问题(转)

    本文需要解决C++中关于数组的2个问题:1. 数组作为函数参数,传值还是传址?2. 函数参数中的数组元素个数能否确定? 先看下面的代码. #include <iostream> using ...

  2. codeforces 673A A. Bear and Game(水题)

    题目链接: A. Bear and Game time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  3. macbook pro 配置jdk,maven环境变量

    https://blog.csdn.net/vvv_110/article/details/72897142(1)下载jdk安装包,进行安装,maven安装包,进行解压 (2)改写环境变量的配置文件/ ...

  4. codevs 等差数列

    1006 等差数列  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 给定n(1<=n<=100) ...

  5. Start Developing Mac Apps -- Mac App Store Mac 应用商店

      Mac App Store The information you’ve read so far focused on how to create an app in Xcode. However ...

  6. 2.28 MapReduce在实际应用中常见的优化

    一.优化的点 Reduce Task Number Map Task输出压缩 Shuffle Phase 参数 map.reduce分配的虚拟CPU 二.Reduce Task Number Redu ...

  7. 036--MySQL扩展

    一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. SELECT * FROM ( S ...

  8. UVaLive 7455 Linear Ecosystem (Gaussi 消元)

    题意:对一个k元向量, 每次左乘一个k*k的矩阵得到新的向量.问经过一定次数的左乘后,能否使得该向量不再变化. (同时要求此时向量非零). 析:设初始向量为A,矩阵为P.由于每次矩阵P都是左乘A, 那 ...

  9. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时1

    课时1 计算机视觉历史回顾与介绍上 CS231n:这一一门关于计算机视觉的课程,基于一种专用的模型架构,叫做神经网络(更细一点说,是卷积神经网络CNN).计算机视觉是人工智能领域中发展最为迅猛的一个分 ...

  10. IDEA打开父类的接口方法快捷键

    有两个类,分别为A类是接口.B类为A的实现类. 如果想在B类里的某个方法,打开A类 可以鼠标右键点击这个方法名,按下键盘:Ctrl+U,就可以跳转到A类接口的该方法上面.