JAVASCRIPT中属性的一些问题
发布网友
发布时间:2022-04-29 19:10
我来回答
共4个回答
热心网友
时间:2022-05-17 04:53
在HTML DOM Windows对象的属性里是可以查到的:
window.screenLeft 返回的是当前窗口距离屏幕左侧边的距离。
另外请你看清楚,(typeof window.screenLeft=="number")中是“==”号不是“=”,所以并不是赋值。
?:实际是if...else语句的简化,它是一个操作符。
test?statement1:statement2,左边表达式的意思是先测试test是否为真,如果为真,那这个表达式的值就是statement1;为假的话,值就是statement2。
所以你上边写的那些代码的意思是:如果window.screenLeft的类型是“number”,那么leftPos就取值为window.screenLeft;否则取值window.screenX。
明白否?
热心网友
时间:2022-05-17 06:11
这样写你应该就明白了:
var leftPos=(typeof(window.screenLeft)=="number")?
window.screenLeft : window.screenX;
并非赋值,而是判断,只是省略了typeof的括号。
如有疑问可百度HI 我,或私信给我,详尽为你解答:)追问那等号是自己舒服了,,刚搜索了一下screenLeft属性。有这个属性但是这位于XML的DOM里面不在WINDOW对象之下啊。但是语法又用window.screenLeft是怎么个回事呢。
追答screenLeft不是javascript语言的属性,而是DOM的属性。HTML文档就是一个DOM。
热心网友
时间:2022-05-17 07:46
1.screenLeft浏览器自己实现的属性 非标准,
2.js可以自定义属性 ,
3.三目运算符 你不懂?
4.typeof 验证变量类型 返回的是字符串追问那么浏览器自己的属性有那里有手册能查啊。screenLeft这个属性我在W3C还是查到了。上面也注明了那些浏览器支持 就是那三目运算符这个是不懂了。学习中。
追答浏览器自有的属性只能去 官方查了
热心网友
时间:2022-05-17 09:37
<html>
<head></head>
<body>
<script type="text/javascript">
var a=10;
var x=typeof(a)=="number"?1:2;
document.write(x);
</script>
</body></html>
哥们这是你要的吗?不理解再追问吧!