学习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笔 ...
随机推荐
- JDBC封装的工具类
1. JDBC封装的工具类 public class JDBCUtil { private static Properties p = new Properties(); private static ...
- IdentityServer4[4]使用密码保护API资源
使用密码保护API资源(资源所有者密码授权模式) 资源所有者(Resource Owner)就是指的User,也就是用户.所以也称为用户名密码模式.相对于客户端凭证模式,增加了一个参与者User.通过 ...
- WPF之资源专题
1.一般程序的资源可以分为四个等级: 数据库中的数据相当于放在仓库里 资源文件里的数据相当于放在旅行箱里 WPF对象资源里的数据相当于携带在背包里 变量中的数据相当于拿在手里 2.资源的查找顺序是沿着 ...
- Powerful Number 学习笔记
定义 对于一个正整数 \(n\) ,若完全分解之后不存在指数 \(=1\) ,则称 \(n\) 为 \(\text{Powerful Number}\) . 可以发现的是,在 \([1,n]\) 中, ...
- NOI2018屠龙勇士(扩展CRT + splay(multiset))
QWQ 一到假期就颓废 哎 今年新鲜出炉的NOI题,QwQ同步赛的时候写的,后来交了一发洛谷,竟然过了 首先 根据题目,我们很容易得到,假设对应每一条龙的剑的攻击力是\(atk\)的话 \[a_i-x ...
- bzoj3073Journeys(线段树优化最短路)
这里还是一道涉及到区间连边的问题. 如果暴力去做,那么就会爆炸 那么这时候就需要线段树来优化了. 因为是双向边 所以需要两颗线段树来分别对应入边和出边 QwQ然后做就好了咯 不过需要注意的是,这个边数 ...
- Java(9)数组详解
作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15201564.html 博客主页:https://www.cnblogs.com/testero ...
- Object.create 和 Object.assign
Object.assign(target, ...source) 1.Object.assign方法只会拷贝源对象自身(不包括原型)的并且可枚举的属性到目标对象,使用源对象的get和目标对象的set, ...
- PyCharm永久破解方法,2021最新版本!!!
1,下载破解补丁(已更新到2021.1版本): 关注微信公众号<程序员的时光>,回复破解补丁即可: 下载补丁文件 jetbrains-agent.jar 和importat.txt文件并将 ...
- elasticsearch父子文档处理(join)
elasticsearch父子文档处理 join 一.背景 二.需求 三.前置知识 四.实现步骤 1.创建 mapping 2.添加父文档数据 3.添加子文档 4.查询文档 1.根据父文档id查询它下 ...