学习JS的第一天--初识JS
1、初识JS
a.我的第一个JS程序;
document.write(“Hello JS”);//这段代码是输出到body中就是直接打开就可以看到;
console.log("Hello JS"); //这段代码是可以通过检查,可以在后台显示看到;
b.JS添加
JS在一个页面内可以在任何地方添加<script type="text/javascript">document</script>顺序自上而下执行;
c.JS引入
<script type="text/javascript" src="Day1_0921第一个js代码.js">
</script>
d.注释
/*一大段文本*/ /**/在俩个*号中间可以注释一大段文本
//我是一行文本 //在双斜杠后可以单独注释一行文本 快捷键 ctrl+/
2.常量与变量
a.量:用来在计算中存储和表示数据
常量:在程序运行中是不可以改变的
console.log(5);
5=666; //错误案例
console.log(5);
//----------------------------------------------------------------分割-----------------------------------------------------------------------
//变量:在程序运行中,其值可以改变
定义:var 标识符;创建一个空间
关键字:拥有某种含义的单词
var关键字:告知编译器后面的标识符为一个变量
var a;
a=123;
console.log("a");
a=456;
console.log("a"); //最后输出结果123 <br> 456
b.左值和右值
左值:空间
右值:数值,值
c.初始化与赋值
初始化:在定义这一行变量的时候同时赋值;
赋值:除了初始化以外的赋值;
var a;
a=123;
console.log("a");
3.标识符命名规则
a.//只能由数字、字母、下划线和$构成,首字母不能为数字,也不能和已有关键字和库函数重复;
b.不成文规定
(1)变量名必须用英文,必须用拼音;
(2)起名见名知意;
(3)变量名太长的时候,骆驼命名法:除了第一个单词之外的单词,首字母大写
4注意:JS ES3的语法天生残疾;
a.不应该使用未被定义的变量,变量应该先定义后使用
a=123;
console.log(a);
var a;
b.变量不应该重复定义(错误示例)
var a =123;
console.log(a);
var a=456;
console.log(a);
5.数据类型:检验算法合法性的必要条件,避免一座山+一杯水的问题:
var a =123;
var b =xxx;
a+b;
a.基本类型
(1):undefined:未被赋值的变量的默认
(2):null:空值 类似于undefined,可以理解为等价console.log(null==undefined)
(3):number:数字
整型 没有小数点
浮点型 带有小数点的数字
(4):string:字符串,被单引号或者双引号括起来的字符序列
console.log(“123”+1);
(5):布尔类型 逻辑值 ture false
var flag=true;
console.log(flog);
*引用:除了基本类型都是引用类型(object)
typeof:判断数据是什么类型
console.log(typeof(a));
var a=123;
console.log(typeof a);
int a;
6.运算符(优先级、结合方向、操作目数)
a.算数/加法/数学运算符+ - * / %(求余、取模)
console.log(2+3);
console.log(2-3);
console.log(2*3);
console.log(2/3);
求余运算符:最后的结果为余数:比如下边的例子,结果为2
console.log(2%3);
b.赋值运算符 =
var a=b=2
var a=b+2
*复合的赋值运算符+=、-=、*=、/=优先级比较低
例如:
a=5;
var a%=2-3;输出结果为1
c.自增减运算++、--
++a; 先加后计算 var a=a+1 var a=5; ++a; colsole.log(a); a为6
a++ 先算后加 (过了该条语句再算) var a=5; a++; var a; colsole.log(a); a为5 k 6
var k=0;
k=k++ + ++k +k + k++; (千万不要写出这样的代码 要有可读性)
d.关系运算符(输出结果会是一个boolean值:true/false)
>、>=...!=、===(严格等)
e.逻辑运算符&& 、|| 、!(与、或、非) 通过逻辑量和关系表达式连接起来其结果也是boolean类型
&&(与):完成一件事,有N个步骤,每个步骤都得完成,此件事才能完成,所有步骤之间的关系就是与;
||(或):完成一件事,有N个方法,任何一个方法都能解决该问题,则个个方法间的关系为或;
!(非):某个条件的对立面,注意:!男。。。不光是女的 往国外 往高技术想
ex:var i = -4;
var j;
//短路与,首次遇到失败的条件,后面与运算终止
j=-5>i&&++i<3
console.log("i");
----------------------------------------------------------------
var i = -4;
var j;
//短路或,首次遇到失败的条件,后面与运算终止
j=-5>i||++i<3
console.log("i");
学习JS的第一天--初识JS的更多相关文章
- JavaScript学习笔记(一)——初识js
这个周,开始了JavaScript的学习路程.虽然从高中开始就接触了网页设计的知识,大学里的学习也算回顾了Html和Css的知识,实习期间在牛盾科技也是做的网站建设,不过通过前段时间找工作才发现自己了 ...
- js学习之路1: 初识js函数
1. 简单的函数: <html> <head> <script type="text/javascript"> function myfunct ...
- Python学习之旅--第一周--初识Python
一:Python是一种什么样的语言? 1.语言的分类: a.编译型语言和解释性语言: 通常所说的计算机语言分为编译型和解释型语言.编译型语言典型的如C,C++,通常在程序执行之前必须经由编译器编译成机 ...
- Vue.js 学习笔记 第1章 初识Vue.js
本篇目录: 1.1 Vue.js 是什么 1.2 如何使用Vue.js 本章主要介绍与Vue.js有关的一些概念与技术,并帮助你了解它们背后相关的工作原理. 通过对本章的学习,即使从未接触过Vue.j ...
- 一个Js开发者学习Python的第一天
原文地址:小寒的博客 https://www.dodoblog.cn/blogs/5bf6b8fa0c09883d0f8aad13 作为一个有着足足两年半学习经验和一年半开发经验的js开发者,看着js ...
- node.js系列笔记之node.js初识《一》
node.js系列笔记之node.js初识<一> 一:环境说明 1.1 Linux系统CentOS 5.8 1.2 nodejs v0.10.15 1.3 nodejs源码下载地址 htt ...
- Node.js入门教程:Node.js如何安装配置并部署第一个网站
前言:作为一个资深的前端开发人员,不懂的Node.js 那你绝对是不能跟别人说你是资深的前端程序猿滴! 今天洋哥就来和大家一起学习被大牛称之为前端必学的技能之一Node! 那么Node到底是什么呢? ...
- 学习RaphaelJS矢量图形包--Learning Raphael JS Vector Graphics中文翻译(一)
(原文地址:http://www.cnblogs.com/idealer3d/p/LearningRaphaelJSVectorGraphics.html) 前面3篇博文里面,我们讲解了一本叫做< ...
- 初识JS正则表达式
初识JS正则表达式 看到的使用的正则表达式练习:http://www.cnblogs.com/wenanry/archive/2010/09/06/1819552.html PS:本文参考李炎恢JS笔 ...
随机推荐
- setTimeout 与setInterval的区别
setTimeout(code,millisec) 方法用于在指定的毫秒数后调用函数或计算表达式 setInterval(code,millisec) 方法可按照指定的周期(以毫秒计)来调用函数或计算 ...
- hadoop生态之面试题篇
一.hdfs的高可用 1.先说下自己的理解, 正常的hdfs有namenode,datanode,secondnamenode,但是second name node 不是真正意义上的namenode备 ...
- windows环境下配置Kafaka
一.安装Zookeeper(Kafaka依赖于zookeeper进行服务注册和管理) 1. 1 下载zookeeper:http://mirror.bit.edu.cn/apache/zookee ...
- 手把手教你 Docker部署可视化工具Grafana
一.Grafana的简单介绍 Grafana是开源的.炫酷的可视化监控.分析利器,无论您的数据在哪里,或者它所处的数据库是什么类型,您都可以将它与Grafana精美地结合在一起.它还有丰富的套件供您选 ...
- Python异常代码含义对照表
Python常见的异常提示及含义对照表如下: 异常名称 描述 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是 ...
- redis学习笔记-02 list列表类型命令
一.lpush key value1 value2 value3 value4(命令将一个或多个值插入到列表头部. 如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作) lpush k1 ...
- c++中的数学函数
math.h 数学函数库,一些数学计算的公式的具体实现是放在math.h里,具体有:1 三角函数double sin (double);double cos (double);double tan ( ...
- Docker--harbor私有仓库部署与管理
目录 一.Harbor简介 二.Harbor 部署 三.维护管理Harbor 一.Harbor简介 1.什么是Harbor ? Harbor 是 VMware 公司开源的企业级 Docker Re ...
- springboot 事务执行全流程分析
springboot 事务执行全流程分析 目录 springboot 事务执行全流程分析 1. 事务方法执行前的准备工作 2. 业务代码的调用 3. 事务方法执行后处理 4. 业务代码在事务和非事务中 ...
- Vue2源码解读 - 响应式原理及简单实现
直接进入主题了,想必大家都知道实现vue响应式核心方法就是 Object.defineProperty,那就从它开始说 Object.defineProperty 缺点: 深度监听,需要递归到底,一次 ...