#一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:
# 核心(ECMAScript)
# 文档对象模型(DOM) Document object model (整合js,css,html)
# 浏览器对象模型(BOM) Broswer object model(整合js和浏览器)
# Javascript 在开发中绝大多数情况是基于对象的.也是面向对象的.
# Javascript
# / | \
# ECMAScript DOM BOM
# ECMAScript 描述了以下内容:语法 类型 语句 关键字 保留字 运算符 对象 (封装 继承 多态) 基于对象的语言.使用对象.
#————————————————————————————————————————————————————————#
# JavaScript的引入方式
# {#1 直接编写#}
# <script>
# alert('hello yuan')
# </script>
# {#2 导入文件#}
# <script src="hello.js"></script>
# #————————————————————————————————————————————————————————#
# JS就是一个简单的随便的语言,弱类型语言
# JS创建变量用var创建
# 可以保存任何数据类型
#声明变量时不用声明变量类型. 全都使用var关键字
# 一行可以声明多个变量.并且可以是不同类型.
# (了解) 声明变量时 可以不用var. 如果不用var 那么它是全局变量.
# 变量命名,首字符只能是字母,下划线,$美元符 三选一,且区分大小写,x与X是两个变量
# 变量还应遵守以下某条著名的命名规则:
# Camel 标记法
# 首字母是小写的,接下来的字母都以大写字符开头。例如:
# var myTestValue = 0, mySecondValue = "hi";
# Pascal 标记法
# 首字母是大写的,接下来的字母都以大写字符开头。例如:
# Var MyTestValue = 0, MySecondValue = "hi";
# 匈牙利类型标记法
# 在以 Pascal 标记法命名的变量前附加一个小写字母(或小写字母序列),说明该变量的类型。
# 例如,i 表示整数,s 表示字符串,如下所示
# Var iMyTestValue = 0, sMySecondValue = "hi";
#————————————————————————————————————————————————————————#
# 数据类型
# 数字类型(Number)
# 整数:
# 在JavaScript中10进制的整数由数字的序列组成
# 精确表达的范围是
-9007199254740992(-253)
# 到
# 9007199254740992(253)
# 超出范围的整数,精确度将受影响
# 浮点数:
# 使用小数点记录数据
# 例如:3.4,5.6
# 使用指数记录数据
# 例如:4.3e23 = 4.3
# 16进制和8进制数的表达
# 16进制数据前面加上0x,八进制前面加0
# 16进制数是由0 - 9, A - F等16个字符组成
# 8进制数由0 - 7等8个数字组成
# 16进制和8进制与2进制的换算
# 字符串(String)
# 是由Unicode字符、数字、标点符号组成的序列
# 字符串常量首尾由单引号或双引号括起
# JavaScript中没有字符类型
# 常用特殊字符在字符串中的表达
# 字符串中部分特殊字符必须加上右划线\
# 常用的转义字符 \n:换行 \':单引号 \":双引号 \\:右划线
# 布尔型(Boolean)
# 简介
# Boolean类型仅有两个值:true和false,也代表1和0,实际运算中true=1,false=0
# 布尔值也可以看作on/off、yes/no、1/0对应true/false
# Boolean值主要用于JavaScript的控制语句,例如
# if (x==1){
# y=y+1;
# }else {
# y=y-1;
# }
# Null & Undefined
# Undefined 类型
# Undefined 类型只有一个值,即 undefined。当声明的变量未初始化时,该变量的默认值是 undefined。
# 当函数无明确返回值时,返回的也是值 "undefined";
# Null 类型
# 另一种只有一个值的类型是 Null,它只有一个专用值 null,即它的字面量。
# 值 undefined 实际上是从值 null 派生来的,因此 ECMAScript 把它们定义为相等的。
# 尽管这两个值相等,但它们的含义不同。undefined 是声明了变量但未对其初始化时赋予该变量的值,
# null 则用于表示尚未存在的对象(在讨论 typeof 运算符时,简单地介绍过这一点)。
# 如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是 null。
# var person=new Person()
# var person=null
# 数据类型转换
# JavaScript属于松散类型的程序语言
# 变量在声明的时候并不需要指定数据类型
# 变量只有在赋值的时候才会确定数据类型
# 表达式中包含不同类型数据则在计算过程中会强制进行类别转换
# 数字 + 字符串:数字转换为字符串
# 数字 + 布尔值:true转换为1,false转换为0
# 字符串 + 布尔值:布尔值转换为字符串true或false
# 强制类型转换函数
# 函数parseInt: 强制转换成整数
# 例如parseInt("6.12")=6 ; parseInt(“12a")=12 ; parseInt(“a12")=NaN ;parseInt(“1a2")=1
# 函数parseFloat: 强制转换成浮点数 parseFloat("6.12")=6.12
# 函数eval:将字符串强制转换为表达式并返回结果 eval("1+1")=2 ; eval("1<2")=true
# ————————————————————————————————————————————————————————#
# ECMAScript 运算符
# 加(+)、 减(-)、 乘(*) 、除(/) 、余数(% ) 加、减、乘、除、余数和数学中的运算方法一样 例如:9/2=4.5,4*5=20,9%2=1
# -除了可以表示减号还可以表示负号 例如:x=-y
# +除了可以表示加法运算还可以用于字符串的连接 例如:"abc"+"def"="abcdef"
# 递增(++) 、递减(--)
# ECMAScript 逻辑运算符
# 逻辑 AND 运算符(&&)
# 逻辑 AND 运算的运算数可以是任何类型的,不止是 Boolean 值。
# 如果某个运算数不是原始的 Boolean 型值,逻辑 AND 运算并不一定返回 Boolean 值:
# 如果某个运算数是 null,返回 null。
# 如果某个运算数是 NaN,返回 NaN。
# 如果某个运算数是 undefined,返回undefined。
# 逻辑 OR 运算符(||)
# 与逻辑 AND 运算符相似,如果某个运算数不是 Boolean 值,逻辑 OR 运算并不一定返回 Boolean 值
# ECMAScript 赋值运算符
# 赋值 = JavaScript中=代表赋值,两个等号==表示判断是否相等
# 例如,x=1表示给x赋值为1
# if (x==1){...}程序表示当x与1相等时
# if(x==“on”){…}程序表示当x与“on”相等时
# 配合其他运算符形成的简化表达式
# 例如i+=1相当于i=i+1,x&=y相当于x=x&y
# ECMAScript等性运算符
# 执行类型转换的规则如下:
# 如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1。
# 如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字。
# 如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串。
# 如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字。
# 在比较时,该运算符还遵守下列规则:
# 值 null 和 undefined 相等。
# 在检查相等性时,不能把 null 和 undefined 转换成其他值。
# 如果某个运算数是 NaN,等号将返回 false,非等号将返回 true。
# 如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数指向同一对象,那么等号返回 true,否则两个运算数不等。
# ————————————————————————————————————————————————————————#
# 控制语句
# if-else基本格式
# if (表达式){
# 语句1;
# ......
# }else{
# 语句2;
# .....
# }
# 功能说明
# 如果表达式的值为true则执行语句1,
# 否则执行语句2
# switch 选择控制语句
# switch基本格式
# switch (表达式) {
# case 值1:语句1;break;
# case 值2:语句2;break;
# case 值3:语句3;break;
# default:语句4;
# }
# for 循环控制语句
# for循环基本格式
# for (初始化;条件;增量){
# 语句1;
# ...
# }
# 功能说明
# 实现条件循环,当条件成立时,执行语句1,否则跳出循环体
# while 循环控制语句
# ————————————————————————————————————————————————————————#
# ECMA对象
# 对象的概念与分类:
# 由ECMAScript定义的本地对象.独立于宿主环境的 ECMAScript 实现提供的对象.(native object)
# ECMAScript 实现提供的、独立于宿主环境的所有对象,在 ECMAScript 程序开始执行时出现.
# 这意味着开发者不必明确实例化内置对象,它已被实例化了。
# ECMA-262 只定义了两个内置对象,即 Global 和 Math (它们也是本地对象,根据定义,每个内置对象都是本地对象)。
# (built-in object)
# 所有非本地对象都是宿主对象(host object),
# 即由 ECMAScript 实现的宿主环境提供的对象。所有 BOM 和 DOM 对象都是宿主对象。
# 11种内置对象
# Array ,String , Date, Math, Boolean, Number Function, Global, Error, RegExp , Object
# Function 对象(重点)
# function 函数名 (参数){
函数体;
# return 返回值;
# }
# 可以使用变量、常量或表达式作为函数调用的参数
# 函数由关键字function定义
# 函数名的定义规则与标识符一致,大小写是敏感的
# 返回值必须使用return

Pyhton学习——Day41的更多相关文章

  1. Pyhton学习——Day26

    #多态:多态指的是一类事物有多种形态# import abc# class Animal(metaclass = abc.ABCMeta):# 同一类事物:动物# @abc.abstractclass ...

  2. pyhton 学习

    官方学习文档 https://docs.python.org/3/tutorial/

  3. 20190320_head first pyhton学习笔记之构建发布

    1.把代码nester.py放入文件夹nester中,在文件夹中再新建一个setup.py文件,文件内容如下: from distutils.core import setup setup( name ...

  4. Pyhton学习——Day2

    Python开发IDE(工具)Pycharm.eclipse1.循环while 条件 #循环体 #条件为真则执行 #条件为假则执行break用于退出所有循环continue用于退出当前循环 2.Pyc ...

  5. Pyhton学习——Day28

    #上下文协议:文件操作时使用with执行# with open('a.txt','w',encoding='utf-8') as f1:# with语句,为了让一个对象兼容with语句,必须在这个对象 ...

  6. Pyhton学习——Day27

    # hasattr(obj,'name')-->obj.name# getattr(obj,'name',default = 'xxx')--->obj.name# setattr(obj ...

  7. Pyhton学习——Day25

    #面向对象的几个方法#1.静态方法@staticmethod,不能访问类属性,也不能访问实例属性,只是类的工具包#2.类方法:@classmethod,在函数属性前加上类方法,显示为(cls)代表类, ...

  8. Pyhton学习——Day24

    # #面向对象设计:# def dog(name,gender,type):# def jiao(dog):# print('One Dog[%s],wfwfwf'%dog['name'])# def ...

  9. Pyhton学习——Day23

    #re模块方法:findall search#findall:返回所有满足匹配条件的数值,放在列表里#search : #函数会在字符串内查找模式匹配,只到找到第一个匹配然后返回一个包含匹配信息的对象 ...

随机推荐

  1. mysql备份脚本二(带日志)

    #!/bin/bashdb_PATH='/shareSAN/mysqldata/ocs/mysql_back_wjf' #备份文件保存的路径#db_DBNAME='sz_ocs' #备份的数据库名db ...

  2. ASP 读取Word文档内容简单示例_组件开发_新兴网络_20161014161610.jpg

  3. 谈谈python里面关于任务队列

    谈谈python里面关于任务队列 为什么要做任务队列 要回答这个问题我们首先看看在流水线上的案列,如果人的速度很慢,机器的速度比人的速度快很多,就会造成,机器生产的东西没有及时处理,越积越多,造成阻塞 ...

  4. Python 从入门到实践 - Web应用程序

    一.创建项目 1.建立虚拟环境 python -m venv ll_env # 出现ll_env文件夹 2.激活虚拟环境 source ll_env/bin/activate # 要停止使用虚拟环境, ...

  5. Makefile错误总结

    自己在做嵌入式驱动时,编写makefile文件是犯的错及解决办法 问题1:makefile 3 missing separator.stop: 问题2:Nothing to be done for ' ...

  6. 判断webservice是否可用

    在.net中验证WebService的Url有效并且验证服务可用: 需要用到win32下的组件,比如Microsoft XML, v5.0 测试程序具体如下:建一个项目,在你的引用中添加COM---找 ...

  7. 使用Eclipse进行远程调控

    什么是远程调试,就是在A机器上利用Eclipse单步跟踪调试B机器上的Web应用,当然调试A机器上Web应用也是没有问题的,90%我都是调试本机的Web应用,远程调试的意义我想我不用说了,大家都会想到 ...

  8. Windows-命令窗口-强制关机命令

    Windows +R CMD  命令行窗口shutdown -s -f -t 以上参数中的-s代表关机,-f表示强制关闭所有应用程序,-t 00代表不用等待立即执行(时间以秒计算,把时间改长就变成了定 ...

  9. 怎样在Java中运行Hive命令或HiveQL

    这里所说的在Java中运行Hive命令或HiveQL并非指Hive Client通过JDBC的方式连接HiveServer(or HiveServer2)运行查询,而是简单的在部署了HiveServe ...

  10. 【转】详述iOS国际化

    原文网址:http://www.cocoachina.com/ios/20151120/14258.html 在真正将国际化实践前,只知道通过NSLocalizedString方法将相应语言的字符串加 ...