设置元素对象属性
var img = document.querySelector("img")
img.setAttribute("src","http://www.baidu.com/img")

值类型
number
string
undefined
boolen

引入类型
function
a = function(){
}

object
a = {
name:"bob",age:18}
a.age

null
a = null;

其他类型
Array
var a = new Array(1,2,3,4,5)
a = [5,4,3,2,1]

Date
var d = new Date();
year = d.getFullYear()
d.getDay()
d.getMonth()
d.getDate()

RegExp
var re = new RegExp("\d{3}","g");
var res = "abc123abc123".match(re)

re = /\d{2}/g;
res = "alb23abc456".match(re);
console.log(res);

re = /[abc]/gi;
res = "aBc".match(re);
i不区分大小写
g全文匹配

var a = [3,5,2,1,4]
a[1]

var dic = {
name:"bob",
age:18,
little-name:"b"}
dic["name"]
dic["age"]
dic.name,dic.age
dic["little-name"]
dic中所有key都是string类型,value可以为任意类型
dic中key可以通过中括号及语法访问值,但key不满足js
命名规范时,只能使用中括号语法

类型转化

1.值类型之间的相互转化
var num = 10;
var s = "123";
var b1 = Boolean(num)
var b2 = Boolean(s);

布尔类型转化为数字类型
Number(false)>>>0
Number(true)>>>1
true+true >>>>2

var s11 = "123";
常用转化的字符一定是一个合法的数字字符串形式,使用加号,可以快速转化成number
var n11 = +s11;

转化为字符串类型

var nn1 = 123;
var ss1 = String(nn1);

var ss2 = nn1.toString();
var ss3 = "" +nn1;
console.log(ss1,ss2,ss3);

var ss4 = 123..toString()
console.log(ss4);

弱语言类型
console.log(3+"5");//"35"
console.log(3-"5"); // -2
总结:1.最快转换为数字类型+"123" +true
2.最快转化为字符串形式 "" + 123 | "" +true

运算符:
1.算法运算符
var res = 5/2; //2.5
2.var res1 = 5%2;
3.++在后先赋值再自增
++在前先自增再赋值
4.赋值运算符
var x=20;
x+=10;

5.比较运算符
var y =10;
var z ="10";
y==z 只比较值
y === z 全等,值与类型都必须相等

y != z false;
y !== z true;

6.逻辑运算符:
var a1 = 10;
var a2 =20 ;
var a3 = "10";

逻辑与: 条件1&&条件2
逻辑或: 条件1 || 条件2
逻辑非: 非真即假

逻辑运算符的短路效果
var res1 = a1==a3 && a2++;
console.log(res1,a2);// 20,21

逻辑与的短路效果,条件1位假,条件2就不会被执行
var res1 = al == a3 && ++a2; //
console.log(res1,a2); // false 20

逻辑或的短路效果,条件为真,条件2就不会被执行
var res2 = a1==a3 || a2++;
console.log(res2,a2);//true 20

5.三目运算符;结果=条件表达式?结果1:结果2;
var xx= 10;
var yy= "10";
var res = xx ==yy?"xx与yy的值相等":"xx与yy的值不相等"
console.log(res)

console.log(NaN == NaN)//false NaN的前身不同,所以是false
查看是否是NaN isNaN(x)
if 分支结构python
if (表达式1){}
else if(表达式2){}

三种弹出窗口
alert(123)//普通弹出框
var res = prompt("请输入:");//输入框
var res = confirm("请选择");//确认框,得到true|false
循环python
①for (循环变量;条件表达式;循环变量增量){}
for(var i=0;i<5;i++){
console.log("加油")
}
②var j=0;
while(j<5){
console.log("加油");
j++;}
③ var k=0;
do{
console.log("加油");
k++;}while(k < 5);
总结:
1.for :解决已知循环次数的
2.while:可以解决所有for循环可以解决的问题,也可以解决不知道循环次数但知道结束条件
3.do...while:无论条件是否满足,循环体都会被执行一次
```

函数
1.函数的定义
function 函数名(形参列表){函数体;}
2.函数的调用
var res = 函数名(实参列表)
3.函数的参数
①个数不需要统一
有三个形参可以任意传
②可以任意位置具有默认值
③通过...语法接收多个值
4.返回值讲解
①可以空return操作,用来结束函数
②返回值可以为任意js类型数据
③函数最多只能拥有一个返回值
js函数的重点:如何给事件提供功能
函数的定义与调用(调用可以写在定义前)

匿名函数,自定义
(function(){
var aaa = 1000;
console.log("匿名函数的自调用")})()

js 类型之间的相互转化的更多相关文章

  1. 值类型之间的相互转化,运算符,if条件判断,循环,函数

    值类型之间的相互转化 number | string | boolean 一.转换为boolean=>Boolean(a); var num = 10; var s = '123'; var b ...

  2. JSON和js对象之间的相互转化

     jQuery插件支持的转换方式 $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 http://www. ...

  3. JS对象之间的关系

    JS对象类型 JS中,可以将对象分为"内部对象"."宿主对象"和"自定义对象"三种. 1.本地对象 ECMA-262定义为"独立于 ...

  4. javaScript 基本类型之间转换

    在Java中,基本类型之间的强制转换也不是这样的,比如,整数要转换成字符串,必须使用Integer.toString()静态方法或者String.valueOf()静态方法,把字符串转换为整数,必须使 ...

  5. 小tips:JS数值之间的转换,JS中最大的Number是多少?,JS == 与 === 的区别

    JS数值之间的转换 Number(), parseInt(),parseFloat() Number()函数的转换规则如下: 1.如果boolean值,true和false将分别被转换为1和02.如果 ...

  6. JS类型和类 小记录

    七种数据类型 number 记住二进制是0b开头 八进制0开头,后来ES5添加了0o开头 十六进制是0x开头 string var s = ' + ' // 无回车符号 或 var s = ` ` / ...

  7. opencv中Mat与IplImage,CVMat类型之间转换

    opencv中对图像的处理是最基本的操作,一般的图像类型为IplImage类型,但是当我们对图像进行处理的时候,多数都是对像素矩阵进行处理,所以这三个类型之间的转换会对我们的工作带来便利. Mat类型 ...

  8. JSON字符串和JS对象之间的转换

    JSON字符串和JS对象之间的转换 1 json字符串转换为js对象 1.1 标准json格式字符串转换为Js对象  JSON字符串 str JSON.parse(str) eval(str) eva ...

  9. [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

随机推荐

  1. hashCode方法里为什么选择数字31作为生成hashCode值的乘数

    前提: 偶然的机会看到了大神的一篇博客,介绍的是hashCode()方法里为什么要用31这个数字作为生成hashCode的乘数.hashCode我在比较自定义类时曾经用到过 - 由于java默认比较的 ...

  2. 解决XP“不是有效Win32程序” 不是改Platform toolset

    背景 最近在写一个窗口程序,想在Windows XP上也能跑.先用vs 2015的App Wizard生成了一个实例窗口程序,按照网上大部分攻略,将 "Properties - Genera ...

  3. 利用HtmlParser解析网页内容

    一,htmpparser介绍 htmlparser是一个功能比较强大的网页解析工具,主要用于 html 网页的转换(Transformation) 以及网页内容的抽取 (Extraction). 二, ...

  4. c#学习系列之跳出循环 break,continue

    break是完全跳出循环: ) { ) break; Console.WriteLine(a++); } 此处输出1,2,3,4,5,6,7,8 continue是跳出当前的循环: ;i<=;i ...

  5. Django的filter查询

    Django的filter查询 name__contains表示精确大小写的模糊查询 使用name__icontains表示忽略大小写 year_count = DownloadFile.object ...

  6. npm 修改源地址

    修改源地址为淘宝 NPM 镜像 npm config set registry http://registry.npm.taobao.org/ 修改源地址为官方源 npm config set reg ...

  7. ubuntu关闭cups服务(631端口)

    本人使用的ubuntu10.10每次开机时使用nmap扫描127.0.0.1的时候总是能发现一个631端口开启,在/etc/services找到631端口是网络打印机服务,但对于我一个普通用户来说这根 ...

  8. Android 如何通过Retrofit提交Json格式数据

    本文将介绍如何通过retrofit库post一串json格式的数据.首先post的json数据格式如下: { "Id": "string", "Dev ...

  9. 基于H5+ API手机相册图片压缩上传

    // 母函数 function App(){} /** * 图片压缩,默认同比例压缩 * @param {Object} path * pc端传入的路径可以为相对路径,但是在移动端上必须传入的路径是照 ...

  10. win10下vs2013为程序集新建强名称文件时“未能完成操作。拒绝访问”的解决方案

    昨日,在使用vs2013开发开发一个小工具,打算给这个小工具的源代码进行保护. 在输入完成建立强名称密钥文件时,爆出了如下错误: 一开始以为是项目所在路径的权限问题,于是给项目所在路径文件夹添加了“U ...