Js隐式转换

Js隐式转换,第1张

1 if 判断,其余类型转为布尔类型
2 比较 *** 作符 ==

3 +,-

4 点 号 *** 作符
5 在对数字,字符串进行点 *** 作方法时,默认将数字,字符串转成对象

5 关系符比较的时候

1

1 null 转为“null”
2 undefined 转为 “undefined”
3 Boolean true转为“true”,false转为“false”
4 number :11 转化为“11”,11e20 科学计数法转为“11e+21”
5 数组,空数组转为字符串“”,如果数组中有null,或者undefined,同样当作空字符串处理,[1,2,3,4]="1,2,3,4"
6 函数function a(){}转为字符串为 “function a(){}”
7 一般对象:“[object,object]”
8 NaN "NaN"

1 只有null,undefined,0,false,NaN,空字符串,这6种情况转为布尔值的结果为false,其余都是true
2 转换为布尔值得场景

1 null 0
2 undefined NaN
3 Boolean true 1,false 0
4 字符串:纯数字的字符串,转为对应的数字,空字符串转为0,其余都是NaN
5 数组,数组首先会被转换为原始类型,然后根据上面的原始类型转换规则进行转换

6 对象,和数组一样 {}=NaN
7 NaN NaN

1 Data对象会先调用toString
2 当对象转为其他原始类型时,会先调用对象的valueOf方法,如果valueOf方法返回的是原始类型,直接返回这个原始类型
3 返回的不是原始类型,或者valueOf方法不存在,继续调用toString()方法。如果toString()返回的是这个原始类型。直接返回这个原始类型,如果不是原始类型,直接报错

1 将一个值转换为他为真正的布尔值
2 !![] false ![]==true

1 字符串和数字类型相比较的时候,字符串会被转换为数字类型

2 布尔值和其他类型值比较

3 null ,undefined 和其他类型的比较

4 js规定null,undefined宽松都与自己相等,但是与其它值都不相等

1 会把对象按照对象转换规则转换成原始类型,再次比较

1 如果两个对象指向同一个对象,相等 *** 作符返回true,否则返回 false

1 字符串连接符的情况

toString()

使用对象的toString函数把对象转化为字符串。

// plain object
var obj = {};
objtoString(); // 返回"[object Object]"// 基本数据封装类
var num = new Number(22);
numtoString(); // 返回"22"// 数组
var arr = [1,2,3];
arrtoString(); // 返回"1,2,3"// 正则对象
var reg = new RegExp('\\d');
regtoString(); // 返回"/\d/"// 自定义对象
function Person(name, age) {
    thisname = name;
    thisage = age;
}
PersonprototypetoString = function () {
    return 'name is ' + thisname + 'and age is ' + thisage;
};
var p = new Person('Scott', 31);
ptoString(); // 返回"name is Scott and age is 31"


JSONstringify

使用json序列化的方式把对象转换为字符串,该方式会把一个对象中所有标记为

enumerable的属性序列化为json格式的字符串。

// plain object
var obj = {name: 'Scott', age: 31};
JSONstringify(obj); // 返回"{"name":"Scott","age":31}"// 基本数据封装类
var num = new Number(22);
JSONstringify(num); // 返回"22"// 数组
var arr = [1,2,3];
JSONstringify(arr); // 返回"[1,2,3]"// 自定义类型
function Person(name, age, maritalStatus) {
    thisname = name;
    thisage = age;
    // 由于婚姻状况是隐私的属性,不希望序列化字符串的时候暴露给他人,因此这里设置属性为不可枚举的
    ObjectdefineProperty(this, 'maritalStatus', {
        enumerable: false,
        configurable: false,
        writable: true,
        value: maritalState || 'unknown'
    });
    thismaritalStatus = maritalStatus;
}
var p = new Person('Scott', 31, 'married');
// 序列化的时候是没有maritalStatus的
JSONstringify(p); // 返回"{"name":"Scott","age":31}"
// 但是maritalStatus确实真实存在于对象中的
pmaritalStatus; // 返回"married"

将JavaScript代码翻译成易语言代码时,需要将JavaScript的语法和函数转换为易语言的语法和函数。这里是将给定的JavaScript代码转换为易语言代码的示例:

子程序 decryptData(r)
变量 t, n, e, o
t = r长度
n = ((t + 2) / 3)向下取整
e = 4 n
o = 创建数组(0 到 t - 1)
循环 取 e 从 0 到 n - 1 步长 1
变量 nIndex, s, a, h
nIndex = 3 e
s = ((r[4 e] - 60) 4) 或 ((r[4 e + 1] - 60) / 16)向下取整
a = (((r[4 e + 1] - 60) 取模 16) 16) 或 ((r[4 e + 2] - 60) / 4)向下取整
h = (((r[4 e + 2] - 60) 取模 4) 64) 或 (r[4 e + 3] - 60)
o[nIndex] = s
如果 nIndex + 1 < t 则
o[nIndex + 1] = a
结束如果
如果 nIndex + 2 < t 则
o[nIndex + 2] = h
结束如果
循环结束
如果 e > t 则
返回 o子数组(0, t)
否则
返回 o
结束如果
子程序结束

那个网站的简繁转换功能只是在JS里面做一个简体字列表和一个对应的繁体字列表,
然后搜索每一个字,作简单的替换而已。
你把那段JS脚本用python重写一下就行了。
但是提醒一下,这种简单的简繁替换是错误的。对大多数字来说可以接受,
但对那些本来在繁体中是两个字,转成简体是一个字的情况,就出问题了。
例如“后”与“後”在繁体中是两个不同意思的字,但简体都是“后”。
简单做替换的话,就分不清“后”与“後”了。
当然,你要是只想得到简体的结果,倒无所谓了。

双击打开word文档,看如下图所示。
双击打开word文档之后出现如下图所示。
在word文档界面,选定一段文字,然后点击一下“审阅”。
点击一下“繁转简”按钮。
接着出现如下图所示,我们可以对照一下,这两句有明显的不同。
图解看百度经验>num1 = parseFloat($("#id")val());\x0d\JS 中转换函数有两个 parseInt()和parseFloat() 前者将字符串转换为int类型 后者转换为float类型\x0d\追加一点小技巧\x0d\在js里 其实也可以这么做将字符串转为数字\x0d\num1 = $("#id")val() - 0;\x0d\取到的字符串减0也可以转为数字类型 加0是不行的 因为+ *** 作符存在类似过载的情况,不知道js里是不是叫 *** 作符过载

toUpperCase 方法
返回一个字符串,该字符串中的所有字母都被转化为大写字母
toLowerCase 方法
返回一个字符串,该字符串中的字母被转换为小写字母


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10331635.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存