Pyhton学习——Day41
#一个完整的 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的更多相关文章
- Pyhton学习——Day26
#多态:多态指的是一类事物有多种形态# import abc# class Animal(metaclass = abc.ABCMeta):# 同一类事物:动物# @abc.abstractclass ...
- pyhton 学习
官方学习文档 https://docs.python.org/3/tutorial/
- 20190320_head first pyhton学习笔记之构建发布
1.把代码nester.py放入文件夹nester中,在文件夹中再新建一个setup.py文件,文件内容如下: from distutils.core import setup setup( name ...
- Pyhton学习——Day2
Python开发IDE(工具)Pycharm.eclipse1.循环while 条件 #循环体 #条件为真则执行 #条件为假则执行break用于退出所有循环continue用于退出当前循环 2.Pyc ...
- Pyhton学习——Day28
#上下文协议:文件操作时使用with执行# with open('a.txt','w',encoding='utf-8') as f1:# with语句,为了让一个对象兼容with语句,必须在这个对象 ...
- Pyhton学习——Day27
# hasattr(obj,'name')-->obj.name# getattr(obj,'name',default = 'xxx')--->obj.name# setattr(obj ...
- Pyhton学习——Day25
#面向对象的几个方法#1.静态方法@staticmethod,不能访问类属性,也不能访问实例属性,只是类的工具包#2.类方法:@classmethod,在函数属性前加上类方法,显示为(cls)代表类, ...
- Pyhton学习——Day24
# #面向对象设计:# def dog(name,gender,type):# def jiao(dog):# print('One Dog[%s],wfwfwf'%dog['name'])# def ...
- Pyhton学习——Day23
#re模块方法:findall search#findall:返回所有满足匹配条件的数值,放在列表里#search : #函数会在字符串内查找模式匹配,只到找到第一个匹配然后返回一个包含匹配信息的对象 ...
随机推荐
- Ikki's Story IV - Panda's Trick POJ - 3207_dfs跑2-SAT
Code: #include<cstdio> #include<algorithm> #include<vector> using namespace std; c ...
- -ms-,-moz-,-webkit-,-o-含义
transform:rotate(30deg); //统一标识语句 -ms-transform:rotate(30deg); //-ms代表ie内核识别码 -moz-transform:rotate( ...
- CentOS 7 yum 安装redis(更简单)
一.安装redis 1.检查是否有redis yum 源 1 yum install redis 2.下载fedora的epel仓库 1 yum install epel-release 3.安装re ...
- 元素隐藏的方式之--hidden,display,visibility
<html lang="en"> <head> <meta charset="UTF-8"> <title>标签 ...
- Spring 的IOC和DI
IOC:IOC其实就是一种容器,该容器会主动的将资源推送给他所管理的组件, 组件所要做的仅是一种合适的方式来接受资源,这种行为也被称为查找的被动形式! IOC的反转控制:传统应用程序是由我们自己在对象 ...
- 2019-03-29 Vagrant Docker Toolbox 下载安装
1.无脑安装Vagrant Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境.它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境. http ...
- springmvc上传操作
创建虚拟目录 配置tomcat的配置文件server.xml 在真实路径中放置一个图片 启动服务器: 直接可以通过配置的虚拟路径来访问真实路径中的图片 所以 我们在做图片上传的操作的时候 就可 ...
- 洛谷—— P1120 小木棍 [数据加强版]
https://www.luogu.org/problem/show?pid=1120 题目描述 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50. 现在,他想把小木棍拼接 ...
- Ubuntu16.04安装Caffe
一.安装ccmake ccmake和cmake的功能是一样的,但它很方便设置编译前的一些参数,安装只需从官网下载压缩包,解压,最后将解压得到的文件夹中的bin文件夹的路径加入PATH环境变量中即可. ...
- OJ刷题---手机尾号评分
题目要求: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dis ...