js学习-day04-程序员宅基地

计时器

 注意末尾的函数是timeEnd()

 

对象

    <!-- JS中数据类型
        String 字符串
        Number 数值
        Boolean 布尔值
        Null 空值
        Undefined 未定义
            以上五种属于基本数据类型,以后我们看到的值
            只要不是上面五种都是对象

        Object 对象 

        基本数据类型都是单一的值,值和值之间没有任何的联系

        在JS中表示一个人的信息(name gender age)
        var name =
        var gender =
        var age = 
        如果使用基本数据类型的数据,我们所创建的变量
        都是独立的,不能成为一个整体

        对象属于一种复合的类型,在对象中可以保存多个
        不同数据类型的属性

        对象的分类:
        1.内建对象
            由ES标准中定义的对象,在任何ES的实现中都可以使用
            Math String Number Boolean Function Object..

        2.宿主对象
            由JS的运行环境提供的对象,目前来讲主要是指由浏览
            器提供的对象
            BOM DOM

        3.自定义对象
            由开发人员自己创建的对象
    -->

 

创建对象

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title></title>
 5 </head>
 6 <body>
 7     <!-- 
 8     创建对象
 9         使用new关键字调用的对象,是构造函数constructor
10         构造函数是专门用来创建对象的函数
11         使用typeof检查一个对象时,会返回object
12 
13         在对象中保存的值称为属性
14         向对象添加属性
15             语法 对象.属性名 = 属性值
16             属性名不强制按照标识符的规范
17                 如果需要使用特殊的属性名,不能采用.的方式来
18                 操作,需要使用另外一种方式
19                     语法 对象["属性名"] = 属性值
20                 读取时也需要采用这种方式
21                 使用[]这种形式去操作属性,更加的灵活
22                 在[]中可以直接传递一个变量,这样变量值是多少就会读取
23                 那个属性
24 
25                     obj["123"] = 789;
26                     var n = "123";
27 
28                     console.log(obj[n]);  //789
29 
30         修改对象的属性值
31             语法 对象.属性名 = 新值
32 
33         删除对象的属性
34             语法 delete 对象.属性名
35 
36         
37         in 运算符
38             通过该运算符可以检查一个对象中是否含有指定的属性
39             如果有则返回true,没有则返回false
40             语法 “属性名” in 对象
41      -->
42 <script type="text/javascript">
43 
44     var name = "coco";
45     var gender = "female";
46     var age =  21;
47 
48     var obj = new Object();
49 
50     //向obj中添加一个name属性 
51     obj.name = "coco";
52     //向obj中添加一个name属性 
53     obj.gender = "female";
54     //向obj中添加一个name属性 
55     obj.age = 21;
56 
57     console.log(obj);
58 
59     //检查obj中是否含有test属性
60     console.log("name" in obj); //true
61 </script>
62 </body>
63 </html>

 

对象的引用

 

new的两个对象保存的是不同的内存地址,即使他们属性的值相同,他们也不相等。

 

基本的数据类型引用

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <!-- 
        基本数据类型
            String Number Boolean Null Undefined

        引用数据类型
            Object

        JS中的变量都保存到栈内存中
            基本数据类型的值直接在栈内存中存储
            值与值之间是独立存在的,修改一个变量不会影响到另外一个变量

            对象是保存到堆内存中的,每创建一个新对象,就会在堆内存中开辟出一个新的空间,而
       变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用,
       当一个通过一个变量修改属性时,另一个也会受到影响 对象保存的是地址!!!!!!!!!!
--> <script type="text/javascript"> var obj = new Object(); obj.name = "coco"; var obj2 = obj; var obj3 = new Object(); var obj4 = new Object(); obj3.name = "coco"; obj4.name = "coco"; console.log(obj3); console.log(obj4); console.log(obj3 == obj4); //false </script> </body> </html>

 

对象字面量

<!-- 
    创建一个对象
    var obj = new Object();

    使用对象字面量来创建一个对象
    var obj = {};

    使用对象字面量,可以在创建对象时,直接指定对象中的属性
    属性名和属性值滴一组一组的名值对结构
    名和值之间使用:连接,多个名值对之间使用,隔开
    如果一个属性之后没有属性了就不要再用,
    语法 {属性名:属性值,属性名:属性值..}
    var obj2 = {
        name:"coco",
        age:21
    }
 -->

 

函数

 

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<!-- 
    函数
        函数也是一个对象
        函数中可以封装一些功能(代码),在需要时可以执行这些功能(代码 )
        函数中可以保存一些代码在需要的时候调用
        使用typeof检查一个函数对象,会返回function

    创建一个函数对象
    -可以将要封装的代码以字符串的形式传递给构造函数
    var fun = new Function()

    封装到函数中的代码不会立即执行
    函数中的代码会在函数调用的时候执行
    调用函数 语法 函数对象()
    当调用函数时,函数中封装的代码会按照顺序执行
    fun();
    
    使用函数声明来创建一个函数
    语法 function 函数名([形参1,形参2...]){
            语句..
        }

    使用函数表达式来创建一个函数
    语法 var 函数名 = function([形参1,形参2..]){
                        语句..
                    };记得这里有个分号
 -->
 <script type="text/javascript">
     function fun1(){
         console.log("hello");
     }
     fun1();

     function(){
         console.log("这个函数没啥用");
     }

     var fun3 = function(){
         console.log("我是匿名函数中封装的代码");
     };
     fun3();
 </script>
</body>
</html>

 

 

函数的参数

 

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <!-- 
        可以在函数的()中来指定一个或多个形参
        多个形参之间使用,隔开,声明形参就相当于函数内部声明了相应的变
        量,但是并不赋值

        在调用函数时,可以在()中指定实参
            实参将会赋值给函数中对应的形参
            实参可以是任意的数据类型

        调用函数时解析器不会检查实参的类型
            所以要注意,是否有可能会接收到非法的参数,如果有可能则需要对参数进行类型的检查

        调用函数时,解析器也不会检查实参的数量
            多余的实参不会被赋值
            如果实参的数量少于形参的数量,则没有对应实参的形参将是undefined
     -->

<script type="text/javascript">
    //形参
    function sum(a,b){
        console.log(a+b);
    }
    //实参
    sum(1,2);


    sum(123,"hello");//123hello
    sum(true,false);//1


    sum(123,456,"hello",true,false);
</script>
</body>
</html>

 

 

返回值

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <!-- 
        可以使用return来设置函数的返回值
            语法 return 值
            return后的值将会作为函数的执行结果返回
            可以定义一个变量,来接收返回值
            return后的语句都不会执行

        如果return语句后不跟任何值就相当于返回一个undefined
        如果函数中不写return,则也会返回undefined

        return后可以接任何类型的值
     -->
<script type="text/javascript">
    function sum(a,b,c){

        //alert(a+b+c);
        var d = a+b+c;
        return d;
    }
    //变量result的值就是函数的执行结果
    //函数返回什么result的值就是什么
    var result = sum(4,7,8);
</script>
</body>
</html>

 

返回值练习

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title></title>
 5 </head>
 6 <body>
 7 <script type="text/javascript">
 8     // <!-- 定义一个函数,是偶数返回true -->
 9     function oushu(i){
10         return i % 2 == 0;
11     }
12     var result = oushu(2);
13     console.log("result:"+result);
14 
15     //求圆的面积
16     function area(i){
17         return 3.14 * i * i;
18     }
19     var yuan = area (6);
20     console.log("area:"+yuan);
21 
22     //创建一个函数,可以在控制台输出一个人的信息
23     //可以输出人的name,age,gender,address
24     //这种方法容易传错参数
25     // function person(name,age,gender,address){
     
26     //     console.log(name,age,gender,address);
27     // }
28     // person("coco",21,"female","zhuhai");
29 
30     //实参可以是任意的数据类型,也可以是一个对象
31     //当我们的参数过多时,可以将参数封装到一个对象中,然后通过对象传递
32     //创建一个对象
33     function person(p){
34         console.log("person = "+p);
35         console.log("我是"+p.name+","+p.age+p.gender+p.address);
36     }
37     var obj = {
38         name:"coco",
39         age:21,
40         gender:"female",
41         address:"zhuhai"
42     };
43     person(obj);
44 
45     // 实参可以是一个对象,也可以是一个函数
46     function fun(a){
47         console.log("a = "+a);
48         //跟调用fun(person)一样一样的
49         // a(obj);
50     }
51     fun(123);
52     fun(person);
53     fun(function(){alert("hello")});
54 
55     //area()和area的区别
56     //area()  -调用函数  -相当于使用的函数的返回值
57     //area    -函数对象  -相当于直接使用函数对象
58     fun(area(6));
59     fun(area);
60 </script>
61 
62 </body>
63 </html>

 

 

 return

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title></title>
 5 </head>
 6 <body>
 7 <script type="text/javascript">
 8     function fun(){
 9         console.log("要执行了");
10 
11         for(var i=0 ; i < 5; i++){
12             if(i == 2){
13                 //使用break跳出本次循环
14                 //break;
15 
16                 //continue用于跳过当次循环
17                 continue;
18 
19                 //使用return可以结束整个函数,后面的都不会执行
20                 return;
21             }
22             console.log(i);
23         }
24         console.log("函数执行完了");
25     }
26     fun();
27 
28 
29     //返回值可以是任意的数据类型
30     //也可以是一个对象,也可以是一个函数
31     function fun2(){
32         //返回一个对象
33         return {name:"jelly"};
34     }
35     var a = fun2();
36     console.log("a = "+a.name);
37 
38     function fun3(){
39         function fun4(){
40             alert("fun4");
41         }
42         //将函数对象作为返回值返回
43         return fun4();
44     }
45     a = fun3();
46     //console.log(a);
47     a();
48     fun3()();//这个是一步完成的
49 </script>
50 </body>
51 </html>

 

转载于:https://www.cnblogs.com/lijingjaj/p/11162169.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30839881/article/details/97968188

智能推荐

spring-cloud-hystrix之spring-cloud-1.3.4(Dalston.SR3)-boot(1.5.6) 学习笔记_springcloud dalston.sr3怎么引用-程序员宅基地

文章浏览阅读341次。spring-cloud-hystrix之spring-cloud-1.3.4(Dalston.SR3)-boot(1.5.6) 学习笔记概述hystrix可单独使用,也可与feign搭配使用,详见HystrixTargeter参考 https://fangjian0423.github.io/2017/02/19/springcloud-hystrix/http://blog.csdn.n_springcloud dalston.sr3怎么引用

ubuntu下将本地vscode编辑器通过ssh和远程服务器进行连接并使用远程的Python环境_ubuntu 通过 ssh 连接到远程服务器方便编辑代码的工具-程序员宅基地

文章浏览阅读991次。前言:在程序员的日常开发工作中,会遇到这样的情况,我们需要用自己本地的工作笔记本连接到大的服务器进行开发,因为大服务器的硬件性能强悍,有很多软件环境。我们在自己的笔记本进行开发需要用到这些软硬件环境,尤其在深度学习项目开发过程中,需要非常好的显卡,而显卡资源一般都部署在大服务器上。下面讲具体步骤:ssh和vscode的安装不再赘述,网上有很多教程。1,打开vscode编辑器,进入"扩展:商店":在搜索框里搜索Remote-SSH,下载好这个插件。2,点击左下角绿色部分"打开远程窗口",出现下图内容_ubuntu 通过 ssh 连接到远程服务器方便编辑代码的工具

GPU加速在前端的应用-程序员宅基地

文章浏览阅读3.2k次,点赞4次,收藏13次。概述GPU(Graphics Processing Unit) 图形处理单元,又称图形处理器,是我们所周知的显卡的核心部件,是显卡的“心脏”。按照字面意..._前台应用加速核心

C#串口通信从入门到精通(11)——串口接收的数据存储到本地文件(txt、csv)_读取并保存串口发送来的数据-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏18次。本文详细介绍如何将串口通信将数据进行本次存储,主要介绍常用的csv、txt格式文件,由多年实战经验总结,绝对干货!_读取并保存串口发送来的数据

synchronized锁住的是什么?_如果为put方法加synchronized锁,锁住的是什么?是一个put还是所有put方法?-程序员宅基地

文章浏览阅读229次。对象锁:同步方法锁住的是对象A.一个对象+有多个synchronized方法:某一时刻内,只要有一个线程去调用其中一个synchronized 方法,其他的线程都要等待。B.一个对象中+synchronized方法+非synchronized方法:某个线程访问同步方法不影响其他线程访问非同步方法C.多个对象+多个同步方法:访问不同的对象的同步方法不会相互影响全局锁:静态同步方法锁的是当前的..._如果为put方法加synchronized锁,锁住的是什么?是一个put还是所有put方法?

outlook邮箱邮件内容乱码_邮件标题乱码问题解决一例-程序员宅基地

文章浏览阅读2.5k次。最近有用户反馈在mac下通过airmail、outlook这样的邮件客户端查看系统发出邮件的标题显示为乱码,但是windows下正常。通过邮件客户端保存为eml,用sublime text 2打开,可以发现展示为以下效果:Date: Wed, 01 Jul 2015 19:54:57 +0800From: To: "=?GBK?B?zt6+zA==?=" Subject: [MTLÑз¢Ö§³Å..._outlook 2013 转发邮件 乱码

随便推点

PLM助力国防军工制造业工艺数字化-程序员宅基地

文章浏览阅读192次。1制造业数字化工艺目标1) 通过PLM项目的实施能够理顺企...

攻防_漏洞_文件包含_文件包含漏洞详解_ctf 文件包含-程序员宅基地

文章浏览阅读3.7k次,点赞5次,收藏17次。文件包含漏洞详解_ctf 文件包含

javaweb-java占位符的使用_%x java-程序员宅基地

文章浏览阅读970次。文章目录java占位符具体使用搭配转换符的标志java占位符拼接字符串显示十分麻烦,因此java中存在大量占位符用来规范输出诸如:String.format("0.5(-%d)+", i),类似c语言的printf方法,比“0.5(-”+…更加简洁易懂String类的format()方法具体使用format(String format, Object… args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。format(Locale locale, String fo_%x java

【深度学习基础】反向传播BP算法原理详解及实战演示(附源码)_反向传播算法-程序员宅基地

文章浏览阅读2.8k次,点赞34次,收藏48次。【深度学习基础】反向传播BP算法原理详解及实战演示(附源码)_反向传播算法

Linux—Ubuntu12.04下安装tree_下载tree-程序员宅基地

文章浏览阅读1.6k次,点赞2次,收藏4次。Linux—Ubuntu12.04下安装tree1、下载tree安装包,命令:wget http://mama.indstate.edu/user/ice/tree/src/tree-1.7.0.tgz2、解压tree安装包,命令:tar -zxvf tree-1.7.0.tgz3、 进入解压目录,命令:cd tree-1.7.04、 安装文件,命令:make install5、 测试使用,命令:tree亲测有效!详见转载:我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《L_下载tree

Excel中vlookup模糊查找的妙用(模糊匹配)_vlookup关键字模糊匹配-程序员宅基地

文章浏览阅读5k次,点赞2次,收藏4次。查找数据是否存在与另一个单元格区域中_vlookup关键字模糊匹配

推荐文章

热门文章

相关标签