本文是笔者在看廖雪峰老师的JavaScript教程时的总结
一、加载 JavaScript
          1.直接在html语句中写入JavaScript语句
          2.在html中导入含有JavaScript语句的js文件
 
二、 JavaScript特点
          1、JavaScript不区分整数和浮点数,统一用Number表示
                    特殊:NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示
                              Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表                                  
                         示为Infinity                       
          2、JavaScript做等于比较的时候两种 “==” 和 “===”
                    区别:“==”比较的时候,会自动转换数据类型再比较。false == 0这个比较的结果是True
                              “===”不自动转换,如果数据类型不一致,返回false,如果一致再进行比较
          3、 NaN这个特殊的Number与所有其他值都不相等,包括它自己 。
                         NaN === NaN  //false
                          唯一能判断NaN的方法是通过isNaN()函数:     
             isNaN(NaN); // true  
     4.JavaScript使用null表示空
     5.数组 JavaScript的数组可以包括任意数据类型
                         定义数组的两种方法
                              1.[1, 2, 3.14, 'Hello', null, true];
                              2.new Array(1, 2, 3); // 创建了数组[1, 2, 3]
          6.对象   JavaScript的对象是一组由键-值组成的无序集合
          7.变量  JavaScript中 变量不仅可以是数字,还可以是任意数据类型。统一由var定义
                    变量名是大小写英文、数字、$_的组合,且不能用数字开
                     同一个变量可以反复赋值,而且可以是不同类型的变量
                    ps:关于静态语言和动态语言
                               变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言
                              C C++ JAVA 都是静态语言
                              python JavaScript都是动态语言
     8.关于 strict模式
               JavaScript可以不通过var定义变量,可以直接使用一个未定义的变量,但如果直接使用,这个变量直接被定义为全局可用,这样如果同一个页面的不同JS文件都使用了未定义的同名的变量,将会混乱。如果一个变量是通过var定义后再使用的,这个变量就被限制在声明它的函数体内。同名变量在不同函数体内互不影响。
               所以strict模式应景而出。在JavaScript代码第一行加上
                              'use strict';
               这样就启用了strict模式,此模式下变量强制用var声明后使用,未经声明直接使用将会报错
 
三、 字符串
          var name = 'hzp'
          1.转义 \
          2.多行字符串‘    ’
          3.连接字符串 1.使用+号
                                   var test = name + 'cool'
                            2.模板字符串
                                   var name ='hzp'
                                   var test = `${name} cool`    此时的引号非大众引号  键盘第二排引号
          
          4.字符串常见操作
               var s ='hello WORLD'
                    获取单个字符  s[0]....但是字符串不可变,对字符串某个索引赋值,不会有任何报错,也不会有任何效果
                    s.length; 获取长度,没有括号
                四个字符串函数
                    1.s.toUpperCase()   小写字母转大写字母  返回新字符串
                    2.s.toLowerCase()     和上面相反
                    3.s.indexOf('WORLD')               返回搜索的子字符串在母字符串的位置此时返回7,搜索不到返回-1
                    4.s.substring(4,7)                          返回指定索引区间的子串
 
四、数组
          .var arr = [1, 2, 3.14, 'Hello', null, true];
          1.JavaScript的数组可以包含任意数据类型,并通过索引来访问每个元素
          2.取长度 arr.length
                    注意:1.直接给数组length属性赋值会导致数组大小的变化
                                        如果赋的值比之前大,后面会增加undefined
                                             如果赋的值比之前小,会相应从后面丢到值
          3.数组可以通过索引对其赋值,如果索引大小超过数组自身长度也会赋值,中间差值通过undefined填补
          so : 不要随便修改数组长度,访问索引时要确保索引不会越界
          4.十一个数组函数
               1.indexOf(3.14)    查找3.14,返回对应的索引
               2.slice(0,3)    对应字符串的substring(),返回从索引0截取到索引2的新字符串
               3.pop()和push()    pop从数组末尾删除一个元素,并返回删除的元素。push(),向末尾增加一或多个元素,返回此数组的长度
               4.shift()和unshift()     shift  ....头部.....................................................unshift()........头部........................................................
               5.sort()    对数组进行排序,直接排序本身
               6.reverse()   对数组进行反转,直接反转本身
               7.splice(2,3.'a','b')  在数组索引为2的位置删除三个元素,增加 a b 两个元素。并返回删除的元素
                8.concat()        数组与数组连接,返回一个新数组
                9.join()         arr.join('-') 。将arr数组的元素通过'-'连接组成一个字符串  
 
五、对象
               var xiaoming = {
                       name: '小明',
                        age:18
               };
            JavaScript的对象是一种无序的集合数据类型,它由一或多个键值对组成  
            访问属性是通过.操作符
            如果属性名包含特殊字符,就必须用''括起来, 访问这个属性也无法使用.操作符,必须用['xxx']来访问
             如果访问一个不存在的属性,返回undefine
               JavaScript的对象是动态类型,so
                         delete xiaoming.age;删除age属性
                         xiaoming.sex  = 'boy'  增加sex属性
            检测某一个对象是否含有某个属性  通过‘in’(继承的属性也能检测出来)。要加‘’
                         ‘name’ in xiaoming           返回true
                         'sex' in xiaoming       返回true
                         'toString' in xiaoming 返回true
                           如果检测的不想包括继承的属性,使用 hasOwnProperty()方法
              xiaoming.hasOwnProperty('toString')  返回false
                              xiaoming.hasOwnProperty('name')       返回true
               
 
 
 
 
摘取文章http://blog.csdn.net/wang171838/article/details/8554305
 
 
关于 == 和 ===:

JavaScript支持“=”、“==”和“===”运算符。你应当理解这些(赋值、相等、恒等)运算符之间的区别,并在编码过程中小心使用。

JavaScript对象的比较是引用的比较,而不是值的比较。对象和其本身是相等的,但和其他任何对象都不相等。如果两个不同的对象具有相同数量的属性,相同的属性名和值,它们依然是不相等的。相应位置的数组元素是相等的两个数组也是不相等的。

严格相等运算符“===”首先计算其操作数的值,然后比较这两个值,比较过程没有任何类型转换:

  • 如果两个值类型不相同,则它们不相等。
  • 如果两个值都是null或者都是undefined,则它们不相等。
  • 如果两个值都是布尔值true或false,则它们相等。
  • 如果其中一个值是NaN,或者两个两个值都是NaN,则它们不相等。NaN和其他任何值都是不相等的,包括它本身!!!通过x!==x来判断x是否为NaN,只有在x为NaN的时候,这个表达式的值才为true。
  • 如果两个值为数字,且数值相等,则它们相等。如果一个为0,另一个为-0,则它们同样相等。
  • 如果两个值为字符串,且所含的对应位上的16位数完全相等,则它们相等。如果它们的长度或内容不同,则它们不等。两个字符串可能含义完全一样且所显示出手字符也一样,但具有不同编码的16位值。JavaScript并不对Unicode进行标准化的转换,因此像这样的字符串通过"==="和"=="运算符的比较结果也不相等。
  • 如果两个引用值同一个对象、数组或函数,则它们是相等的。如果指向不同的对象,则它们是不等的。尽管两个对象具有完全一样的属性。

相等运算符“==”和恒等运算符相似,但相等运算符的比较并不严格。如果两个操作数不是同一类型,那么相等运算符会尝试一些类型转换,然后进行比较:

  • 如果两个操作数的类型相同,则和上文所述的严格相等的比较规则一样。如果严格相等,那么比较结果为相等。如果它们不严格相等,则比较结果为不相等。
  • 如果两个操作数类型不同,“==”相等操作符也可能会认为它们相等。检测相等将会遵守如下规则和类型转换:
  1. 如果一个值是null,另一个是undefined,则它们相等。
  2. 如果一个值是数字,另一个是字符串,先将字符串转换为数字,然后使用转换后的值比较。
  3. 如果其中一个值是true,则将其转换为1再进行比较。如果其中一个值是false,则将基转换为0再进行比较。
  4. 如果一个值是对象,另一个值是数字或字符串,则将对象转换为原始值,然后再进行比较。对象通过toString()方法或valueOf()方法转换为原始值。JavaScript核心的内置类首先尝试使用valueOf(),再尝试使用toString(),除了日期类,日期类只使用toString()转换。那些不是JavaScript语言核心中的对象则通过各自的实现中定义的方法转换为原始值。
  5. 其他不同类型之间的比较均不相等.
          
          
 
                         
 

初始JavaScript的更多相关文章

  1. JavaScript概述-第1章

    目录 初始JavaScript 学会使用编辑工具 如何引入脚本代码 常用语句 常见浏览器兼容性问题 了解前端开发技术JavaScript,JavaScript的发展,JavaScript特点,Java ...

  2. JavaScript——基础知识,开始我们的js编程之旅吧!

    JavaScript基础第01天 1. 编程语言 编程语言: 可以通过类似于人类语言的"语言"来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming ...

  3. JavaScript基础语法资料

    JavaScript基础第01天 1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的 ...

  4. JavaScript基础第01天笔记

    JavaScript基础第01天 1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的 ...

  5. 2021年3月-第03阶段-前端基础-JavaScript基础语法-JavaScript基础第01天

    1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的指令集合,而程序全部都是用我们所掌 ...

  6. Google 地图 API V3 之事件

    Google官方教程: Google 地图 API V3 使用入门 Google 地图 API V3 针对移动设备进行开发 Google 地图 API V3 之事件 Google 地图 API V3 ...

  7. JS起源

    一.初始JavaScript Mosaic是互联网历史上第一个普遍使用和显示图片的浏览器1993年问世. 后来由于商标权转让,原本的开发团队又开发了Netscape Navigetor网景浏览器,也是 ...

  8. JavaScript中的直接量与初始器的区别

    很多代码优化及公司规范都会提到 写对象不应该 var obj = new Object() 而应该 var obj = {} 写数组不应该 var arr = new Array() 而应该 var ...

  9. JAVAScript对象及初始面向对象

              javaScript对象及初始面向对象 1:内置对象 例:Date String Array 类等... 2:自定义对象 方法1:var newObj=new Object(); ...

随机推荐

  1. 浅谈Scrapy爬虫(一)

    以下谈论的 scrapy 基于 0.20.2 版本(当前最新版本是 0.22.0 ),python 2.7.6. 开发环境是windows 7 sp1.   互联网上比较有价值的参考资料 1. Scr ...

  2. Bash:-:-通过while和shift判断脚本位置参数格式是否合法

    ]];then echo "请输入2个位置参数..." exit else num=$# ));do case ${num} in ) if ! echo "${1}&q ...

  3. mysql 日志表rename 备份

    1. 按照原历史表新增一个新表(空表): mysql> create table history_log_new ...; 2. 给历史表重命名,并将新表重命名为历史表: mysql> R ...

  4. 93、持续集成以及Jenkins的知识介绍

    持续集成是什么? }持续集成源于极限编程(XP),是一种软件实践,软件开发过程中集成步骤是一个漫长并且无法预测的过程.集成过程中可能会爆发大量的问题,因此集成过程需要尽可能小而多,实际上持续集成讲的是 ...

  5. 用JavaScript实现的选项卡

    Codes wins arguments! <!DOCTYPE html> <html> <head> <meta charset="utf-8&q ...

  6. Poj2186Popular Cows

    Popular Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 31533   Accepted: 12817 De ...

  7. 日常积累oracle 有关信息

    对于VARCHAR2类型,我们在内存使用和效率上需要做出一个权衡.对于VARCHAR2(长度>=2000)变量,PL/SQL动态分配内存来存放实际值,但对于VARCHAR2(长度<2000 ...

  8. JQuery下focus()无法自动获取焦点的处理方法 jquery如何使文本框获得焦点

    今天遇见这么一个小小的问题,就是文本框中需要输入内容才可以提交,如果没有输入就提示并使该文本框获得焦点! 这么一个简单的事情如果没有使用 jQuery的话 是不是对象.focus()就可以了, Jav ...

  9. String常用方法测试

    String.Equals()使用方法 用来比较String两个对象所表示的字符串是否相同 public class StringEquals { public static void main(St ...

  10. linux的三种安装软件包的方式(小白的学习之旅)

    tar包,整个安装过程可以分为以下几步: 1) 取得应用软件:通过下载.购买光盘的方法获得: 2) 解压缩文件:一般tar包,都会再做一次压缩,如gzip.bz2等,所以你需要先解压.如果是最常见的g ...